Database Inspector ช่วยให้คุณตรวจสอบ ค้นหา และแก้ไขฐานข้อมูลของแอปได้ขณะที่แอปกำลังทำงาน ซึ่งมีประโยชน์อย่างยิ่งสำหรับการแก้ไขข้อบกพร่องของฐานข้อมูล Database Inspector ทำงานร่วมกับ SQLite แบบธรรมดาและไลบรารีที่สร้างขึ้นบน SQLite เช่น Room
เปิดเครื่องมือตรวจสอบฐานข้อมูล
หากต้องการเปิดฐานข้อมูลในเครื่องมือตรวจสอบฐานข้อมูล ให้ทำดังนี้
เรียกใช้แอปในโปรแกรมจำลองหรืออุปกรณ์ที่เชื่อมต่อซึ่งใช้ API ระดับ 26 ขึ้นไป
จากแถบเมนู ให้เลือกดู > หน้าต่างเครื่องมือ > การตรวจสอบแอป
เลือกแท็บ Database Inspector
เลือกกระบวนการของแอปที่กำลังทำงานจากเมนู
ฐานข้อมูลในแอปที่กําลังทํางานอยู่จะปรากฏในแผงฐานข้อมูล ขยายโหนดสำหรับฐานข้อมูลที่ต้องการตรวจสอบ
ดูและแก้ไขข้อมูล
แผงฐานข้อมูลจะแสดงรายการฐานข้อมูลในแอปและตารางที่ฐานข้อมูลแต่ละรายการมี ดับเบิลคลิกชื่อตารางเพื่อแสดง ข้อมูลในหน้าต่าง Inspector ทางด้านขวา ดังแสดงในรูปที่ 1 คลิกส่วนหัวคอลัมน์เพื่อจัดเรียงข้อมูลในหน้าต่างเครื่องมือตรวจสอบตามคอลัมน์นั้น

หากต้องการแก้ไขข้อมูลในตาราง ให้ทำตามขั้นตอนต่อไปนี้
- ดับเบิลคลิกเซลล์
- พิมพ์ค่าใหม่
- กด Enter
หากแอปใช้ Room และ UI สังเกตการณ์ฐานข้อมูล เช่น LiveData
หรือ Flow
การเปลี่ยนแปลงใดๆ ที่คุณทำกับข้อมูลจะ
แสดงในแอปที่กำลังทำงานทันที ไม่เช่นนั้น การเปลี่ยนแปลงจะแสดงเฉพาะในครั้งถัดไปที่แอปอ่านข้อมูลที่แก้ไขจากฐานข้อมูล
ดูการเปลี่ยนแปลงฐานข้อมูลแบบเรียลไทม์
หากต้องการให้ Database Inspector อัปเดตข้อมูลที่แสดงโดยอัตโนมัติ ขณะที่คุณโต้ตอบกับแอปที่กําลังทํางาน ให้เลือกช่องทําเครื่องหมายการอัปเดตแบบเรียลไทม์ที่ ด้านบนของหน้าต่าง Inspector ขณะที่เปิดใช้การอัปเดตแบบเรียลไทม์ ตารางในหน้าต่างเครื่องมือตรวจสอบจะเป็นแบบอ่านอย่างเดียวและคุณจะแก้ไขค่าไม่ได้
หรือหากต้องการอัปเดตข้อมูลด้วยตนเอง ให้คลิกปุ่มรีเฟรชตารางที่ด้านบนของหน้าต่างเครื่องมือตรวจสอบ
ค้นหาฐานข้อมูล
Database Inspector สามารถเรียกใช้การค้นหาเทียบกับฐานข้อมูลของแอปขณะที่แอป ทำงานอยู่ เครื่องมือนี้ใช้การค้นหา DAO ได้หากแอปใช้ Room แต่ก็รองรับการค้นหา SQL ที่กำหนดเองด้วย
เรียกใช้การค้นหา DAO
หากแอปใช้ Room ทาง Android Studio จะมีแถบการดำเนินการที่ช่วยให้คุณ เรียกใช้เมธอดการค้นหาที่กำหนดไว้แล้วในคลาส DAO ได้อย่างรวดเร็ว การดำเนินการเหล่านี้จะ ใช้ได้ขณะที่แอปทำงานและ Database Inspector เปิดอยู่ใน IDE
หากต้องการเรียกใช้เมธอดการค้นหาใน DAO ให้คลิกปุ่มเรียกใช้คำสั่ง SQLite
ใน Database Inspector
ข้างคำอธิบายประกอบ
@Query

หากแอปมีฐานข้อมูลมากกว่า 1 รายการ Android Studio จะแจ้งให้คุณ เลือกฐานข้อมูลที่จะค้นหาจากรายการ หากวิธีการค้นหามีพารามิเตอร์ bind ที่มีชื่อ Android Studio จะขอค่าสำหรับแต่ละพารามิเตอร์ก่อนที่จะเรียกใช้การค้นหา ผลการค้นหาจะแสดงในหน้าต่างเครื่องมือตรวจสอบ
เรียกใช้การค้นหา SQL ที่กำหนดเอง
นอกจากนี้ คุณยังใช้ Database Inspector เพื่อเรียกใช้การค้นหา SQL ที่กำหนดเองกับฐานข้อมูลของแอปขณะที่แอปทำงานได้ด้วย
หากต้องการค้นหาฐานข้อมูล ให้ทำตามขั้นตอนต่อไปนี้
คลิกเปิดแท็บคำค้นหาใหม่
ที่ด้านบนของแผงฐานข้อมูลเพื่อเปิดแท็บใหม่ ในหน้าต่างเครื่องมือตรวจสอบ
รูปที่ 3 เปิดแท็บการค้นหาใหม่ หากแอปมีฐานข้อมูลมากกว่า 1 รายการ ให้เลือกฐานข้อมูลที่จะค้นหา จากรายการในแท็บการค้นหาใหม่
ที่ด้านบนของแท็บคำค้นหา ใหม่ ให้พิมพ์คำค้นหา SQL ที่กำหนดเองลงในช่องข้อความ
คลิกเรียกใช้
หรือใช้ฟีเจอร์ประวัติการค้นหาเพื่อเรียกใช้การค้นหาที่คุณ เคยใช้ก่อนหน้านี้
คลิกปุ่มแสดงประวัติการค้นหา
เพื่อดูรายการค้นหาที่คุณเรียกใช้กับฐานข้อมูลที่เลือก ไว้ก่อนหน้านี้
รูปที่ 4 เมนูประวัติการค้นหา คลิกคำค้นหาในรายการเพื่อดูตัวอย่างคำค้นหาแบบเต็มใน เครื่องมือแก้ไข แล้วกด Enter เพื่อคัดลอกไปยังเครื่องมือแก้ไข
คลิกเรียกใช้เพื่อดำเนินการตามคำสั่ง
ผลการค้นหาที่แสดงในแท็บคำค้นหาใหม่เป็นแบบอ่านอย่างเดียวและ
แก้ไขไม่ได้ อย่างไรก็ตาม คุณสามารถใช้ช่องการค้นหา SQL ที่กำหนดเองเพื่อเรียกใช้
คำสั่งตัวแก้ไข เช่น UPDATE
, INSERT
หรือ DELETE
หากแอปใช้ Room และ UI สังเกตการณ์ฐานข้อมูล เช่น LiveData
หรือ Flow
การเปลี่ยนแปลงใดๆ ที่คุณทำกับข้อมูลจะปรากฏในแอปที่กำลังทำงานทันที
ไม่เช่นนั้น การเปลี่ยนแปลงจะปรากฏเฉพาะในครั้งถัดไปที่แอปอ่านข้อมูลที่แก้ไขแล้วจากฐานข้อมูล
โหมดออฟไลน์
ใน Android Studio 4.2 ขึ้นไป คุณจะตรวจสอบฐานข้อมูลของแอปต่อไปได้ หลังจากที่กระบวนการตัดการเชื่อมต่อแล้ว ซึ่งจะช่วยให้คุณแก้ไขข้อบกพร่องของแอปได้ง่ายขึ้น หลังจากแอปขัดข้อง
เมื่อการเชื่อมต่อขาดหายไป Database Inspector จะดาวน์โหลดฐานข้อมูลและ ทำให้คุณเข้าถึงได้ในโหมดออฟไลน์ เมื่อออฟไลน์ คุณจะยังเปิดตารางและเรียกใช้การค้นหาได้
เมื่อคุณเชื่อมต่อกับกระบวนการของแอปที่ใช้งานจริงอีกครั้ง Database Inspector จะออกจากโหมดออฟไลน์ และแสดงเฉพาะข้อมูลที่อยู่ในอุปกรณ์ กล่าวคือ ข้อมูล ที่แสดงในโหมดออฟไลน์จะไม่คงอยู่เมื่อคุณเชื่อมต่อกับกระบวนการของแอปอีกครั้ง เนื่องจากข้อจำกัดนี้ Database Inspector จึงไม่อนุญาตให้คุณแก้ไขข้อมูล หรือเรียกใช้คำสั่ง SQL ในการแก้ไขขณะอยู่ในโหมดออฟไลน์
เมื่อดูฐานข้อมูลในโหมดออฟไลน์ ชื่อกระบวนการจะมี
[DETACHED]
เพื่อระบุว่าเครื่องมือตรวจสอบไม่ได้เชื่อมต่อกับ
กระบวนการอีกต่อไป นอกจากนี้ ไอคอนฐานข้อมูล
ยังแสดงสถานะออฟไลน์ตามที่แสดงในรูปที่ 5

เปิดการเชื่อมต่อฐานข้อมูลไว้
Database Inspector จะแก้ไขฐานข้อมูลได้ก็ต่อเมื่อแอปของคุณมีการเชื่อมต่อที่ใช้งานอยู่กับฐานข้อมูลนั้น ซึ่งหมายความว่าหากแอปของคุณเชื่อมต่อและยกเลิกการเชื่อมต่อกับฐานข้อมูลบ่อยครั้ง การแก้ไขข้อบกพร่องของฐานข้อมูลเหล่านั้นอาจเป็นเรื่องยาก บานหน้าต่างฐานข้อมูลใช้ไอคอนเพื่อระบุฐานข้อมูลที่เปิดอยู่
และปิดอยู่
นอกจากนี้ หากต้องการป้องกันไม่ให้การเชื่อมต่อฐานข้อมูลปิด ให้สลับเปิดการเชื่อมต่อฐานข้อมูลไว้จากปิด
เป็นเปิด
ที่ด้านบนของแผงฐานข้อมูล
ส่งออกข้อมูลจาก Database Inspector
คุณสามารถส่งออกฐานข้อมูล ตาราง และผลการค้นหาจากเครื่องมือตรวจสอบฐานข้อมูลเพื่อบันทึก แชร์ หรือสร้างใหม่ในเครื่องได้ เมื่อเปิดโปรเจ็กต์แอปใน Android Studio และตรวจสอบแอปสำหรับโปรเจ็กต์นั้นใน Database Inspector คุณจะเริ่มส่งออกข้อมูลได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- เลือกฐานข้อมูลหรือตารางในแผงฐานข้อมูล แล้วคลิกส่งออกไปยัง ไฟล์ที่ด้านบนของแผง
- คลิกขวาที่ฐานข้อมูลหรือตารางในแผงฐานข้อมูล แล้วเลือก ส่งออกไปยังไฟล์จากเมนูตามบริบท
- เมื่อตรวจสอบตารางหรือผลการค้นหาในแท็บ ให้คลิกส่งออกไปยังไฟล์ เหนือตารางหรือผลการค้นหา
หลังจากเลือกการดำเนินการส่งออกแล้ว ให้ใช้กล่องโต้ตอบส่งออกฐานข้อมูลเพื่อช่วยคุณ ทำตามขั้นตอนสุดท้าย ดังที่แสดงในรูปที่ 6
คุณมีตัวเลือกในการส่งออกข้อมูลในรูปแบบต่อไปนี้อย่างน้อย 1 รูปแบบ ได้แก่ DB, SQL หรือ CSV ทั้งนี้ขึ้นอยู่กับว่าคุณพยายามส่งออกฐานข้อมูล ตาราง หรือผลการค้นหา
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Database Inspector ได้ที่แหล่งข้อมูลเพิ่มเติมต่อไปนี้