Stetho Android : منصة Facebook للتعامل مع البيانات

اذا كنت من الاشخاص الذين يعانون من طريقة عرض البيانات المخزنة على قواعد بيانات Sqlite او الـ SharedPrefrance او تريد معرفة البيانات التي يستقبلها او يرسلها تطبيق عبر الشبكة, فهذه الاضافة ستعجبك بالتأكيد.

ماهي Stetho؟

مؤخراً قامت FaceBook باطلاق أداة تدعى Stetho والتي تسمح لمطوري الاندرويد بعرض البيانات الخاصة بتطبيقاتهم والمخزنة في ملفات الـ Cach سواء كانت بيانات مخزنة في SharedPrefrance او حتى في قواعد بيانات Sqlite, ومن احد اهم الامور التي تميزت بها هذه الاداة هو امكانيه تنفيذ اوامر باستخادم JavaScript او حتى امكانية استعراض البيانات التي يستقبلها او يرسلها تطبيقك عبر الشبكة.

اضافة Stetho

عند التعامل مع هذا النوع من المكتبات فانت تحتاج لها فقط في وقت تجربة المشروع ولا تريد ان تضيفها الى النسخة النهائية للمستخدمين, لذلك يفضل ان تضيف المكتبة فقط في وضع الـ Debug Mode وذلك عن طريق استخدام DebugCmpile بدلاً من Compile

تهيئة Stheto

بعد اضافتك للمكتبة فانت بحاجة الى اعداد الاداة عن طريق استدعاء Stetho واضافة الخصائص التي تحتاجها, وذلك عن طريق انشاء كلاس جديد تحت المسار التالي src/debug/java والسبب اننا نريد استخدامها فقط في اصدارات الـ Debug, هذا الكلاس يجب ان يكون extend من Application

تفعيل MyDebugApplication

الخطوة الاخيرة هي اعطاء امر للـ AndroidManifest.xml والموجود في المسار src/debug باستخدام الكلاس الذي قمنا بانشائه سابقاً.

استخدام Stetho

تستطيع الان التعامل مع الاداة عن طريق متصفح Chrome مهما كان نوع جهاز الاندرويد المتصل بجهازك وذلك عن طريق الـ ADB, قم بفتح المتصفح واكتب في شريط العنوان الامر التالي chrome://inspect

stetho-device-selection

من الصفحة التي بالاعلى تستطيع تحديد جهاز الاندرويد وذلك عن طريق الضغط على عبارة inspect والتي ستوجهك مباشرة الى صفحة جديدة تستطيع من خلالها التعامل مع Stetho.

stetho

التعامل مع الـ SharedPreferences

لعرض جميع البيانات التي قمت بتخزينها في الـ SharedPreferences من خلال تطبيقك, توجه الى التبويب Resources ومن ثم Local Storage

SharedPreferences

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

اختر التبويب Resources ومن ثم اختر قاعدة البيانات التي تريد عرض بياناتها من القائمة Web SQL,  ستجد قائمة بالجداول الموجودة في قاعدة البيانات والتي تستطيع اختيار واحد منها لعرض البيانات المخزنة بداخلها او تستطيع تحديد قاعدة البيانات ومن ثم تنفيذ اوامر Sql لعرض البيانات بالاسلوب الذي يعجبك, مثال: SELECT * FROM people WHERE name=’Bart’;

stetho-database-data stetho-sql-commands

عرض قاعدة بيانات Realm

من خلال الطريقة السابقة تستطيع عرض قواعد بيانات Sqlite المخزنة في تطبيقك, ولكن لتعرض قاعدة بيانات من نوع Realm فانت بحاجة الى اضافة مكتبة stetho-realm لمشروعك وذلك عن طريق اضافة السطر التالي لملف build.gradle

امر اخر يجب عليك تعديل دالة enableWebKitInspector التي سبق وان قمنا باستدعائها عند تهيئة الاوبجكت Stetho الموجود في كلاس MyDebugApplication

عرض بيانات الشبكة

من احد افضل المميزات التي تميزت بها الاداة هو امكانية استعراض البيانات المرسلة والمستقبلة بين تطبيقك والسيرفر, فـ على سبيل المثال ان كان تطبيق يتعامل مع الانترنت وانت بحاجة الى ارسل ملفات الى سيرفر او حتى لاستقبال Responce من سيرفر فتستطيع مشاهدته عن طريق Stetho, ولكن يجب عليك اضافة مكتبة Stetho-okHtt  لمشروعك وذلك عن طريق الاسطر التالية كما فعلنا بالسابق:

اخيرا من اداة Stetho توجه الى التبويب Network .

10956912_1566958493590672_1981449156_n

تنفيذ اوامر Javascript

في بعض الاحيان واثناء عمل برنامج قد تحتاج الى معرفة قيمة عنصر ما في واجهة تطبيقك او حتى معرفة قيمة متغير في الكلاس ولاتريد ايقاف التطبيق لكتابة امر Log حتى لاتفقد قيمة المتغير, فالحل هو باستخدام احد مزايا هذه الاداة الا وهو تنفيذ اوامر JavaScript على تطبيقك ولكن يجب عليك اضافة مكتبة stetho-js-rhino  لمشروعك وذلك عن طريق الاسطر التالية كما فعلنا بالسابق:

بعد ذلك واثناء عمل البرنامج والاداة, فقط توجه الى التبويب Console وقم بتنفيذ الاكواد التي تحتاجها.

console

مراجع اضافية

 

Share:
0 comments on Stetho Android : منصة Facebook للتعامل مع البيانات

Post a comment

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *