تطبيق ساعة توقيت بسيط مع jetpack يؤلف باستخدام الخدمات الأمامية والمقيدة
تحقق من YouTube للحصول على فيديو تعليمي كامل
يتكون هذا التطبيق بشكل أساسي من 3 وحدات نصية مختلفة تمثل الساعات والدقائق والثواني. كما حصلنا على زرين على واجهة المستخدم. سيتم تغيير الزر الأول على أساس حالة الخدمة وسيسمح لنا الزر الثاني بإلغاء الخدمة الأمامية مما سيؤدي إلى إعادة ضبط ساعة الإيقاف الخاصة بنا.
يمكنك التحكم في ساعة الإيقاف إما عن طريق أزرار واجهة المستخدم أو من خلال لوحة الإشعارات. نظرًا لأننا نستخدم الخدمات، فإذا أغلقنا التطبيق، فيمكننا أيضًا تتبع حالة ساعة الإيقاف من خلال لوحة الإشعارات.
Hilt عبارة عن مكتبة لحقن التبعية لنظام Android تعمل على تقليل النموذج المعياري للقيام بحقن التبعية يدويًا في مشروعك. يتطلب إجراء حقن التبعيات يدويًا إنشاء كل فئة وتبعياتها يدويًا، واستخدام الحاويات لإعادة استخدام التبعيات وإدارتها.
يوفر Hilt طريقة قياسية لاستخدام DI في تطبيقك من خلال توفير حاويات لكل فئة Android في مشروعك وإدارة دورات حياتها تلقائيًا. تم تصميم Hilt استنادًا إلى مكتبة DI الشهيرة Dagger للاستفادة من صحة وقت الترجمة وأداء وقت التشغيل وقابلية التوسع ودعم Android Studio الذي يوفره Dagger.
الخدمة المرتبطة هي تطبيق لفئة الخدمة التي تسمح للتطبيقات الأخرى بالارتباط بها والتفاعل معها. لتوفير ربط لخدمة ما، يجب عليك تنفيذ طريقة رد الاتصال onBind(). تقوم هذه الطريقة بإرجاع كائن IBinder الذي يحدد واجهة البرمجة التي يمكن للعملاء استخدامها للتفاعل مع الخدمة.
تقوم الخدمات الأمامية بتنفيذ عمليات ملحوظة للمستخدم.
تعرض الخدمات الأمامية إشعارًا بشريط الحالة، حتى يكون المستخدمون على دراية بأن تطبيقك يؤدي مهمة في المقدمة ويستهلك موارد النظام.
توفر الأجهزة التي تعمل بنظام التشغيل Android 12 (مستوى واجهة برمجة التطبيقات 31) أو أعلى تجربة مبسطة للخدمات الأمامية قصيرة المدى. على هذه الأجهزة، ينتظر النظام 10 ثوانٍ قبل عرض الإشعار المرتبط بالخدمة الأمامية. هناك بعض الاستثناءات. تعرض العديد من أنواع الخدمات دائمًا إشعارًا على الفور.