1. قبل البدء
ما ستنشئه
في هذا الدرس التطبيقي حول الترميز، ستوسّع نطاق تطبيق نموذجي حالي لواجهة Android Home API من خلال استخدام قاعدة المعارف لواجهة Home API وGemini في "استوديو Android" لأتمتة عملية إنشاء واجهة المستخدم ودمج واجهة برمجة التطبيقات. ستضيف واجهة تصحيح أخطاء تتيح للمستخدمين تفريغ السجلات وتلخيص بيانات "المنزل" لأغراض تصحيح الأخطاء والتطوير.
الثنائي الفعّال: قاعدة المعرفة في Home API وGemini في "استوديو Android"
يعتمد سير العمل هذا على مكوّنَين أساسيَّين:
- قاعدة معلومات Home API: ملف مستندات منسَّق (
google-home-api-knowledge-base.txt) يزوّد Gemini بالقيود الفنية والنماذج والطرق المحدّدة اللازمة للتفاعل مع أجهزة Google Home. - يُرجى الاطّلاع على: https://developers.home.google.com/apis/android/knowledge-base
- Gemini في "استوديو Android": هو أداة تعاون مستندة إلى الذكاء الاصطناعي ومتاحة مباشرةً في بيئة التطوير المتكاملة (IDE). وهو يدرك سياق التعليمات البرمجية والموارد ووحدة التحكّم.
أهداف الدورة التعليمية
- كيفية تقديم قاعدة معارف Home API كسياق إلى Gemini في "استوديو Android"
- كيفية استخدام ميزة "البرمجة الوصفية" مع Gemini في "استوديو Android" لإضافة وظائف جديدة إلى تطبيق Home API Sample App الحالي
2. المتطلبات الأساسية والإعداد
تأكَّد من إكمال ما يلي قبل المتابعة:
- إنشاء وتشغيل نموذج تطبيق Android لواجهات برمجة التطبيقات Home APIs: اتّبِع التعليمات الواردة في https://developers.home.google.com/apis/android/sample-app/build#build_the_app لإنشاء نموذج التطبيق وتشغيله الذي يستند إليه الدرس التطبيقي حول الترميز.
- إعداد البيئة
- تنزيل "استوديو Android": ثبِّت أحدث إصدار ثابت (Koala أو إصدار أحدث) من موقع المطوّرين الإلكتروني الرسمي.
- تفعيل Gemini: افتح نافذة أداة Gemini (عادةً في الشريط الجانبي الأيسر). سجِّل الدخول باستخدام حسابك على Google واقبل البنود لتفعيل "المساعد المستند إلى الذكاء الاصطناعي". يمكنك الاطّلاع على https://developer.android.com/studio/gemini/get-started للحصول على التعليمات.
- ملف قاعدة المعرفة: تأكَّد من حفظ الملف
google-home-api-knowledge-base.txtفي دليل مشروعك. - ملاحظة: إذا نسخت نموذج التطبيق من تطبيق العيّنة الرسمي على GitHub، سيكون هذا الملف مضمّنًا في المجلد
tools/.
3- إنشاء ملف AGENTS.md
بدلاً من تكرار التعليمات في كل محادثة، يمكنك إنشاء "عقل" دائم لـ Gemini.
في جذر مشروعك، أنشئ ملفًا جديدًا باسم AGENTS.md والصق السياق التالي:
**Role:** You are an expert Android Home API Developer.
**Context:** This project uses the Google Home APIs.
**Source of Truth:** Always reference tools/google-home-api-knowledge-base.txt for Home API patterns, data models (Structures, Automations), and debugging methods.
**Guidelines:** Prioritize Material 3 Compose components and ensure all code is compatible with the latest Home API SDK.
في "السياق"، ضَع علامة في المربّع بجانب AGENTS.md Files.

لنتأكّد من نجاح عملية الإعداد. اطلب من Gemini ما يلي:
Can you see the Agents.md file? Do you know what file you need to check first before developing with Google Home API?
من المفترض أن تظهر لك نتيجة مشابهة لما يلي، تشير إلى أنّه يتم قراءة ملف AGENTS.md وسيتم استخدام ملف "قاعدة المعرفة".

4. إنشاء علامة تبويب "تصحيح الأخطاء" جديدة
استخدِم Gemini + "قاعدة المعرفة" لتعديل ملف HomeAppView.kt وإضافة وجهة تنقّل جديدة.
قبل البدء، إليك الشكل الذي يجب أن يبدو عليه تطبيقك الحالي النموذجي لواجهات برمجة التطبيقات Home:

اطلب من Gemini استخدام رمز عجلة لتمثيل علامة التبويب الجديدة لتصحيح الأخطاء.
Can you help to add a wheel icon as the third tab in the HomeAppView .
في ما يلي مثال على محادثة محتملة بينك وبين Gemini في "استوديو Android"

يمكننا الآن رؤية علامة تبويب "تصحيح الأخطاء" جديدة في أسفل الصفحة:

5- إنشاء زرَّين جديدَين لـ "تفريغ البنية" و "تفريغ التشغيل الآلي"
إرسال طلب إلى Gemini:
Create two selectable buttons on the Debug page called "Dump Structure" and "Dump Automations".
تمت إضافة زرَّين جديدَين إلى صفحة "تصحيح الأخطاء".

6. تنفيذ وظيفة "عرض البنية"
إرسال طلب إلى Gemini:
Implement the first button "Dump Structure" to call dumpStructure(structure: Structure) in Debugger.kt with current selected structure.
عند النقر على الزر "تفريغ البنية"، سيتم تفريغ سجلّات البنية إلى LogCat

7. تنفيذ وظيفة "التفريغ التلقائي"
إرسال طلب إلى Gemini:
Now Implement the "Dump Automation" functionality to call dumpAutomationsInStructure(structure: Structure) in Debugger.kt with current selected structure.
عند النقر على الزر "تفريغ التشغيل الآلي"، سيتم تفريغ سجلّات التشغيل الآلي إلى LogCat.

8. تنفيذ زر "تلخيص المنزل" الذي يسرد الغرف والأجهزة الحالية
إرسال طلب إلى Gemini:
In Debug tab, add a button "Summarize Home" to find the current room and devices with Home API and show them on a dialog.
زرّ "تلخيص الصفحة الرئيسية" جديد في صفحة "تصحيح الأخطاء"

وعند النقر عليه، سيتم عرض ملخّص حالي للغرف والأجهزة

9- مراجعة التغييرات
يمكن أن يساعدك Gemini أيضًا في مراجعة التغييرات (أو آخر عملية إيداع في git)، والعثور على المشاكل المحتملة، وحلّها.
إرسال طلب إلى Gemini:
Review the uncommitted changes and find potential issues.

10. تهانينا!
تهانينا! لقد وسّعت نطاق تطبيقك التجريبي لواجهة Android Home API بنجاح من خلال الاستفادة من "قاعدة معارف Home API" وGemini لأتمتة عملية إنشاء واجهة المستخدم ودمج واجهة برمجة التطبيقات. بعد أن تعرّفت على كيفية توسيع نطاق نموذج التطبيق باستخدام التطوير المستند إلى الذكاء الاصطناعي، إليك بعض الأمور الأخرى التي يمكنك تجربتها:
- تحسين ملف AGENTS.md: جرِّب إضافة معايير ترميز أو إرشادات خاصة بالعلامة التجارية إلى ملف
AGENTS.mdلمعرفة كيف يؤثر ذلك في اقتراحات الرموز البرمجية التي يقدّمها Gemini. - إنشاء عملية تشغيل آلي مخصّصة: استخدِم Gemini و"قاعدة المعرفة" لكتابة نص برمجي يؤدي إلى تشغيل روتين "ليلة سعيدة"، مثل إغلاق جميع الأبواب وتخفيف الإضاءة.
- قراءة دليل قاعدة المعرفة الرسمي لواجهة برمجة التطبيقات Home ومشاهدة تسريع عملية التطوير باستخدام Gemini وقاعدة المعرفة