เรียนรู้ การใช้งาน LogCat เพื่อหา error by

31
Aug
0

การโค้ดแอนดรอยด์ หรือ โปรแกรมใดๆ กับ error ผมว่าเป็นของคู่กันนะ ถ้าเราสามารถหา Error , เหตุผลของการ error ได้ การแก้ปัญหา Error ก็ไม่ใช่เรื่องยากถ้าเป็นใน eclipse แต่ที่เราจะพูดกันในวันนี้คือ Unity เวลา run ในเครื่องจริง(Android) ที่เรามีเครื่องมือในการค้นหา ข้อผิดผลาด Error ที่ชื่อว่า LogCat เอาไว้ค้นหา Error และ เหตุผมของการ Error

C:\>cd AndroidSDK\platform-tools
C:\AndroidSDK\platform-tools\> adb.exe logcat

STEP 1:

เปิด Terminal window(ก็ cmd.exe นั้นและ)

STEP 2:

C:\>cd AndroidSDK\platform-tools อันนี้ก็แล้วแต่เครื่องใครลงไว้ที่ไหนนะครับ

STEP 3:

C:\AndroidSDK\platform-tools\>adb logcat -s Unity

การเขียน Log ในแอป

ในการเขียนแอป การทราบว่า ตอนนี้แอนเราทำงานไปถึง ขั้นไหนแล้ว เพื่อการ Monitor การทำงานของแอป การเขียน Log ลงไปในโค้ดจึงมีความจำเป็น
ก็ใน c# ก็ Debug.Log (“OnClickToggleFemale”);  หรือ  Debug.Log (“Test ” , “OnClickToggleFemale”);  ครับยังไงก็ลองเอาไปเล่นกันดูนะครับ

(English) DontDestroyOnLoad by

31
Jul
0

static void DontDestroyOnLoad(Object target);

Description

ทำให้เป้าหมายของ Game Object ที่ไม่ถูกทำลายโดยอัตโนมัติเมื่อโหลดฉากใหม่

จากการทดลอง เวลาเรา load Screen ใหม่แล้วเราต้องการเก็บ ข้อมูลบางอย่างไว้ หรือ Game Manager ก็ควรใช้คำสังนี้ครับ

using UnityEngine;

using System.Collections;

public class ExampleClass : MonoBehaviour {

void Awake() {

DontDestroyOnLoad(transform.gameObject);

}

}

AsyncTask คืออะไร? by

30
Jun
0

AsyncTask นั้นเป็น abstract class ที่ทาง Android นั้นจัดเตรียมมาให้เราเพื่อทำการประมวลผล หรือทำงานเป็น background โดยไม่ต้องไปยุ่งกับตัว UI หลัก อย่างเช่น กรณีต้องการดึง content จากเว็บไซต์เว็บหนึ่ง เพื่อมาแสดงบนแอพพลิเคชันของเรา เราก็จะใช้ AsyncTask ช่วยในการคำนวณ ประมวลผล โดยเมื่อ AsyncTask ทำงานอยู่ มันจะไม่กระทบกับหน้าจอ UI ของเรา

 private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
     protected Long doInBackground(URL... urls) {
         int count = urls.length;
         long totalSize = 0;
         for (int i = 0; i < count; i++) {
             totalSize += Downloader.downloadFile(urls[i]);
             publishProgress((int) ((i / (float) count) * 100));
             // Escape early if cancel() is called
             if (isCancelled()) break;
         }
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }

การเรียกใช้งานก็แสนง้ายครับ new DownloadFilesTask().execute(url1, url2, url3);

The 4 steps

หลังจากเราทำการ executed แล้ว task จะทำงาน 4 steps ตามนี้ครับ

1. onPreExecute() <<<< อันนี้เอาไว้ invoked UI ก่อนที่จะเริ่ม executed ส่วนมากก็เอาไว้ setup ui ต่าง ex progressbar

2.doInBackground(Params…) <<<<< หลังจากที่  onPreExecute() ทำงานเสร็จก็จะมาทำงานตรงนี้และครับ ตรงนี้เอาไว้ติดต่อกับ internet ครับ จะทำจนกว่าจะเสร้จถ้าเราทำการ load file ครับ

3.onProgressUpdate(Progress…) <<<< หากมีการเรียกใช้งานก็จะเอาไว้ทำการ update ค่าต่างๆครับ ว่า load ได้ขนาดไหนแล้ว กี่ byte หรือกี่ % แล้ว อันนี้ต้องเขียน code ไว้ตรงนี้นะครับ

4.onPostExecute(Result) <<<< หลังจาก doInBackground(Params…) ทำงานเสร็จ onPostExecute(Result) ก็จะถูกเรียกครับ คือหลังจาก เรา load file เสร็จแล้วจะให้ทำอะไรต่อนั้นและครับ

 

 

ถามว่าจำเป็นยังไงก็บอกได้เลยครับว่าจำเป็นมาก เพราะถ้าเราทำงานติดต่อผ่าน internet แล้วละก็ไม่ทำงานผ่าน

thread or asynctask แล้วละก็ GC ของ android จะมาเก้บ activity ของเราครับ แต่ถ้าผมจำไม่ผิดตั้งแต่มีการ up api 4.0 เค้าบังคับว่าต้องใช้งานแล้วครับ วันนี้พอก่อนแล้วกันครับ วันหลังมาต่อเรื่องอื่นกัน

android is not safe by

30
Apr
0

ทำไมผมถึงพูดอย่างนี้ถูกไหมครับ เพราะเพื่อนหลายคนที่ใช้งาน android อยู่มักจะหา app lock หน้าจอมาใช้งานกันแต่ก็นั้นและครับ มันไม่ save

วันนี้จะมี command ง้ายๆมาบอกต่อเกียวกับการลบ app ก็เหมือนเดิมครับ
เสียบสาย usb เข้าโทรสับ
เปิด adb แล้วพิม cmd ต่อไปนี้ได้เลยครับ

adb shell am start -a android.intent.action.DELETE -d package:

(English) How can I connect to Android with ADB over TCP? by

1
Apr
1

คิดว่าหลายๆคนที่ใช้งานเครื่อง macbook เอามาเขียนโปรแกรมคงเจอปัญหากับ port usb ไม่พอให้ใช้งาน ก็อยุ่แล้วละพี่แกให้มา 3 port เอง

= =” เวลาเราจะทำการ test android device ก็จะไม่พอถ้าไม่ถอด mouse ก็ต้องถอด keyboard วันนี้ก็เลยมาแนะนำ trick นิดๆหน่อยเกียวกับ การ debug adb with wifi

เอาละครับมาเริ่มกันเลยดีกว่า ก็ลง

1. open console cmd.exe (mac open terminal)

2. cd android-sdk-windows\tools\platform-tools

3.type adb connect ”android ip”:5555

ถ้าเกิดไม่ error device not found ขึ้นก็แสดงว่าเรายังไม่ได้ทำการเปิด port ให้เปิด port ก่อนครับ

setprop service.adb.tcp.port 5555

stop adbd

start adbd

adb connect ”android ip”:5555

เท่านี้เราก็สามารถทำการ debug ผ่าน wifi ได้แล้วละครับ แต่ก็ยังต้องเสียบสาย usb ตอนเรา key command ก่อนนะครับ

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน