تصحيح أخطاء قاعدة البيانات باستخدام Database Inspector (عارض قاعدة البيانات)

تتيح لك أداة فحص قاعدة البيانات فحص قواعد بيانات تطبيقك والاستعلام عنها وتعديلها أثناء تشغيله. وهذا مفيد بشكل خاص لتصحيح أخطاء قاعدة البيانات. تعمل أداة فحص قاعدة البيانات مع لغة SQLite العادية ومع المكتبات التي تم إنشاؤها فوق SQLite، مثل Room.

افتح عارض قاعدة البيانات

لفتح قاعدة بيانات في عارض قاعدة البيانات، قم بما يلي:

  1. شغِّل تطبيقك على محاكي أو جهاز متصل يستخدم المستوى 26 من واجهة برمجة التطبيقات أو مستوى أعلى.

  2. من شريط القوائم، اختَر عرض > نوافذ الأدوات > فحص التطبيقات.

  3. حدد علامة التبويب Database Inspector (أداة فحص قاعدة البيانات).

  4. حدد عملية التطبيق قيد التشغيل من القائمة.

  5. تظهر قواعد البيانات الموجودة في التطبيق قيد التشغيل حاليًا في جزء قواعد البيانات. وسِّع عقدة قاعدة البيانات التي تريد فحصها.

عرض البيانات وتعديلها

يعرض جزء قواعد البيانات قائمة بقواعد البيانات في تطبيقك والجداول التي تحتوي عليها كل قاعدة بيانات. انقر نقرًا مزدوجًا فوق اسم الجدول لعرض بياناته في نافذة الفحص على اليمين، كما هو موضح في الشكل 1. انقر فوق رأس عمود لفرز البيانات في نافذة عارض حسب هذا العمود.

لقطة شاشة لنافذة Database Inspector (أداة فحص قاعدة البيانات)
الشكل 1. الإطار "أداة فحص قاعدة البيانات".

لتعديل البيانات في جدول، اتّبِع الخطوات التالية:

  1. انقر مرتين على خلية.
  2. اكتب قيمة جديدة.
  3. اضغط على Enter.

إذا كان تطبيقك يستخدم غرفة وتراقب واجهة المستخدم قاعدة البيانات، كما هو الحال في LiveData أو Flow، تظهر فورًا أي تغييرات تجريها على البيانات في التطبيق قيد التشغيل. وبخلاف ذلك، لن تظهر التغييرات إلا في المرة التالية التي يقرأ فيها تطبيقك البيانات المعدّلة من قاعدة البيانات.

الاطّلاع على التغييرات المباشرة في قاعدة البيانات

إذا كنت تريد من "أداة فحص قاعدة البيانات" تحديث البيانات التي يقدمها تلقائيًا أثناء تفاعلك مع التطبيق قيد التشغيل، حدِّد مربع الاختيار التحديثات المباشرة في أعلى نافذة "أداة الفحص". أثناء تفعيل التحديثات المباشرة، يكون الجدول الوارد في نافذة "أداة الفحص" للقراءة فقط ولا يمكنك تعديل قيمه.

بدلاً من ذلك، لتعديل البيانات يدويًا، انقر على الزر إعادة تحميل الجدول في أعلى نافذة أداة الفحص.

الاستعلام عن قواعد البيانات

يمكن لأداة فحص قاعدة البيانات تشغيل الاستعلامات على قاعدة بيانات تطبيقك أثناء تشغيل التطبيق. يمكن للأداة استخدام طلبات DAO إذا كان تطبيقك يستخدم Room، ولكنّها تتيح أيضًا طلبات بحث SQL المخصّصة.

تشغيل استعلامات DAO

إذا كان تطبيقك يستخدم Room، سيوفِّر "استوديو Android" إجراءات هامش التوثيق التي تتيح لك تشغيل طرق طلب البحث التي حددتها من قبل في فئات DAO. تتوفّر هذه الإجراءات أثناء تشغيل تطبيقك وعندما يكون عارض قاعدة البيانات مفتوحًا في بيئة التطوير المتكاملة (IDE).

لتشغيل أي طريقة استعلام في DAO، انقر على الزر تشغيل عبارة SQLite في عارض قاعدة البيانات بجانب تعليق @Query التوضيحي.

لقطة شاشة لإجراءات هامش التوثيق في DAO
الشكل 2. إجراءات هامش التوثيق بالاستعلام DAO.

إذا كان تطبيقك يتضمّن أكثر من قاعدة بيانات واحدة، سيطلب منك "استوديو Android" اختيار قاعدة البيانات المطلوب البحث فيها من قائمة. إذا كانت طريقة طلب البحث تتضمن معلَمات ربط مُسمّاة، يطلب "استوديو Android" قيمًا لكل مَعلمة قبل تنفيذ طلب البحث. يتم عرض نتائج الاستعلام في نافذة عارض.

تنفيذ طلبات لغة الاستعلامات البنيوية (SQL) المخصّصة

يمكنك أيضًا استخدام Database Inspector (أداة فحص قاعدة البيانات) لتشغيل استعلامات SQL (لغة الاستعلام البنيوية) مخصصة على قواعد بيانات تطبيقك أثناء تشغيل التطبيق.

للاستعلام عن قاعدة بيانات، اتبع الخطوات التالية:

  1. انقر على فتح علامة تبويب استعلام جديد في أعلى جزء قواعد البيانات لفتح علامة تبويب جديدة في نافذة "أداة الفحص".

    لقطة شاشة توضّح زرّ علامة تبويب "طلب البحث الجديد"
    الشكل 3. افتح علامة التبويب طلب بحث جديد.
  2. إذا كان تطبيقك يتضمن أكثر من قاعدة بيانات واحدة، اختر قاعدة البيانات لإجراء طلب بحث عنها من القائمة في علامة التبويب طلب بحث جديد.

  3. في أعلى علامة التبويب طلب بحث جديد، اكتب طلب بحث SQL المخصّص في حقل النص.

  4. انقر على تشغيل.

بدلاً من ذلك، استخدِم ميزة سجلّ طلبات البحث لتشغيل استعلام استخدمته سابقًا:

  1. انقر على الزر عرض سجلّ طلبات البحث زر إظهار سجلّ طلبات البحث
لعرض قائمة بطلبات البحث التي أجريتها في السابق في قاعدة البيانات المحدّدة.

    لقطة شاشة تعرض القائمة المنسدلة لسجلّ طلبات البحث
    الشكل 4. قائمة سجلّ طلبات البحث.
  2. انقر على طلب بحث في القائمة للاطّلاع على معاينة لطلب البحث بالكامل في المحرر، ثم اضغط على Enter لنسخه إلى المحرِّر.

  3. انقر على Run لتنفيذ العبارة.

نتائج طلب البحث التي يتم عرضها في علامة التبويب طلب بحث جديد هي للقراءة فقط ولا يمكن تعديلها. ومع ذلك، يمكنك استخدام حقل طلب بحث SQL المخصّص لتشغيل عبارات المعدِّل مثل UPDATE أو INSERT أو DELETE.

إذا كان تطبيقك يستخدم الغرفة وكانت واجهة المستخدم تراقب قاعدة البيانات، كما هو الحال في LiveData أو Flow، ستظهر على الفور أي تغييرات تجريها على البيانات في التطبيق قيد التشغيل. وإلا لن تظهر التغييرات إلا في المرة التالية التي يقرأ فيها التطبيق البيانات المعدَّلة من قاعدة البيانات.

وضع عدم الاتصال بالإنترنت

في الإصدار 4.2 من "استوديو Android" والإصدارات الأحدث، يمكنك مواصلة فحص قواعد بيانات التطبيق بعد انقطاع الخدمة. وهذا يسهِّل تصحيح أخطاء التطبيق بعد التعطُّل.

عند حدوث قطع اتصال، يقوم عارض قاعدة البيانات بتنزيل قواعد البيانات الخاصة بك وإتاحتها لك في وضع عدم الاتصال. عند عدم الاتصال بالإنترنت، لا يزال بإمكانك فتح الجداول وتشغيل الاستعلامات.

عند إعادة الاتصال بعملية تطبيق مباشرة، يترك عارض قاعدة البيانات وضع عدم الاتصال ويعرض لك فقط البيانات الموجودة على الجهاز. بمعنى آخر، لن تظل البيانات التي تظهر في وضع عدم الاتصال قائمة عند إعادة الاتصال بعملية التطبيق. بسبب هذا القيد، لا يتيح لك عارض قاعدة البيانات تحرير البيانات أو تشغيل عبارات SQL للتعديل أثناء وضع عدم الاتصال.

عند عرض قاعدة بيانات في وضع عدم الاتصال بالإنترنت، يتضمّن اسم العملية [DETACHED] للإشارة إلى أنّ أداة الفحص لم تعد مرتبطة بالعملية. أيضًا، يشير رمز قاعدة البيانات قاعدة البيانات
غير متصلة إلى حالة عدم الاتصال، كما هو موضح في الشكل 5.

أداة فحص قاعدة البيانات في وضع عدم الاتصال
الشكل 5. أداة فحص قاعدة البيانات في وضع عدم الاتصال بالإنترنت.

إبقاء اتصالات قاعدة البيانات مفتوحة

لا يمكن لأداة فحص قاعدة البيانات تعديل قاعدة بيانات إلا عندما يحتفظ تطبيقك باتصال مباشر بقاعدة البيانات تلك. وهذا يعني أنه إذا كان تطبيقك يتصل بشكل متكرر بقواعد البيانات وينقطع الاتصال بها، فقد يكون من الصعب تصحيح أخطاء قواعد البيانات هذه. تستخدم جزء قواعد البيانات الرموز لتحديد قواعد البيانات المفتوحة والمغلقة .

بالإضافة إلى ذلك، لمنع إغلاق اتصالات قاعدة البيانات، عليك إيقاف الإعداد إبقاء اتصالات قاعدة البيانات مفتوحة من الإيقاف إلى تفعيل أعلى لوحة قواعد البيانات.

تصدير البيانات من عارض قاعدة البيانات

يمكنك تصدير قواعد البيانات والجداول ونتائج الاستعلام من عارض قاعدة البيانات لحفظ أو مشاركة أو إعادة الإنشاء محليًا. عند فتح مشروع تطبيق في "استوديو Android" وفحص التطبيق لهذا المشروع في "أداة فحص قاعدة البيانات"، يمكنك بدء تصدير البيانات بإحدى الطرق التالية:

  • حدد قاعدة بيانات أو جدول في لوحة قواعد البيانات وانقر على تصدير إلى ملف بالقرب من أعلى اللوحة.
  • انقر بزر الماوس الأيمن على قاعدة بيانات أو جدول في لوحة قواعد البيانات واختَر تصدير إلى ملف من قائمة السياقات.
  • عند فحص جدول أو نتائج طلب بحث في علامة تبويب، انقر على تصدير إلى ملف أعلى الجدول أو نتائج طلب البحث.

بعد تحديد إجراء تصدير، استخدم مربع حوار تصدير قاعدة البيانات لمساعدتك في تنفيذ الخطوات النهائية، كما هو موضح في الشكل 6.

بناءً على ما إذا كنت تحاول تصدير قاعدة بيانات أو جدول أو نتائج استعلام، لديك خيار تصدير البيانات بتنسيق واحد أو أكثر من التنسيقات التالية: DB أو SQL أو CSV.

مربع الحوار "تصدير قاعدة البيانات"

الشكل 6. مربع الحوار "تصدير قاعدة البيانات".

مراجع إضافية

لمعرفة المزيد حول عارض قاعدة البيانات، راجع الموارد الإضافية التالية:

مشاركات المدونة

الفيديوهات الطويلة