ANDROID APP
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
308 บทที่ 12 การตรวจสอบการทำางานของแอพ<br />
LogCat สามารถใช้งานกับอุปกรณ์หลังจากที่มีการเรียกใช้คำสั่ง adb shell หรือเรียกใช้<br />
LogCat จากคอมมานด์ไลน์โดยตรงได้ดังนี้<br />
> [adb] logcat [] ... [] ...<br />
ข้อความต่างๆ ที่เกิดจากการทำงานของคลาส android.util.Log จะมีข้อมูลแท็กและลำดับความ<br />
สำคัญกำหนดไว้เสมอ โดยข้อมูลแท็กจะอธิบายถึงความหมายและสิ่งแอคทิวิตี้ที่กำลังทำ จากราย<br />
ละเอียดของข้อมูลนี้จะช่วยให้เราสามารถดูและคัดกรองข้อมูล Log ได้ง่ายขึ้น โดยข้อมูลแท็กที่ใช้มี<br />
ดังนี้<br />
m V – Verbose (ลำดับความสำคัญต่ำสุด)<br />
m D - Debug<br />
m I - Info<br />
m W – Warning<br />
m E - Error<br />
m F - Fatal<br />
m S – Silent (ลำดับความสำคัญสูงสุด)<br />
ข้อมูลของ LogCat มีรายละเอียดที่หลากหลาย เราจะต้องคัดกรองข้อมูลก่อนด้วยการกำหนด<br />
อาร์กิวเมนต์ tag:priority ให้แก่คำสั่ง LogCat ดังนี้<br />
> adb logcat ActivityManager:V *:S<br />
จากตัวอย่างข้างต้นจะแสดงข้อมูลของ ActivityManager ที่มีค่าแท็กเป็น V และแสดงข้อมูลที่<br />
มีแท็กเป็น S ทุกตัว<br />
การใช้งานบัฟเฟอร์แบบวงกลมนั้นมีการใช้ในระบบ Log ของระบบปฏิบัติการแอนดรอยด์<br />
โดยปกติแล้ว Log ทั่วไปจะถูกเก็บลงในบัฟเฟอร์ Main Log แต่ใน Android SDK 2.2 จะมีการใช้<br />
งานบัฟเฟอร์ 2 ส่วน โดยส่วนแรกจะเก็บข้อมูลของระบบโทรศัพท์และอุปกรณ์ไร้สายต่างๆ ขณะที่อีก<br />
ส่วนหนึ่งจะเก็บข้อมูลเกี่ยวกับเหตุการณ์ต่างๆ การใช้งานบัฟเฟอร์แบบแยกนี้สามารถใช้งานโดยใช้<br />
พารามิเตอร์ –b ได้ดังนี้<br />
> adb logcat -b events<br />
บัฟเฟอร์นี้จะแสดง Log ที่เกี่ยวข้องกับเหตุการณ์ต่างๆ<br />
I/menu_opened( 135): 0<br />
I/notification_cancel( 74): [com.android.phone,1,0]<br />
I/am_finish_activity( 74):<br />
[1128378040,38,com.android.contacts/.DialtactsActivity,app-request]<br />
I/am_pause_activity( 74):<br />
[1128378040,com.android.contacts/.DialtactsActivity]<br />
I/am_on_paused_called( 135): com.android.contacts.RecentCallsListActivity<br />
I/am_on_paused_called( 135): com.android.contacts.DialtactsActivity<br />
I/am_resume_activity( 74): [1127710848,2,com.android.launcher/.Launcher]<br />
I/am_on_resume_called( 135): com.android.launcher.Launcher<br />
I/am_destroy_activity( 74):<br />
[1128378040,38,com.android.contacts/.DialtactsActivity]<br />
I/power_sleep_requested( 74): 0<br />
I/power_screen_state( 74): [0,1,468,1]