Alarm manager واستخدامه في برمجة تطبيقات اندرويد بشكل متطور

بسم الله الرحمن الرحيم

السلام عليكم ورحمة  الله وبركاته .

سنتكلم اليوم عن إنشاء منبه متطور باستخدام Date picker و Time picker وسنعتمد على أمرين :

  • التقويم Calendar .
  • مستقبل البث Broadcast Receiver .
  • Shared preference لتخزين الوقت ، سنحتاجه لاحقا .

بالإضافة لل Alarm manager لكننا لن نتحدث عنه كوننا ذكرناه في الدرس السابق .

مراجعة الدرس أو رؤيته من هنا (ضروري إن لم تكن تعرف ال Alarm manager ) : هنا

مكونات المشروع :

أكتيفيتي رئيسية واللياوت تحتوي على :

  • Date picker لضبط التاريخ .
  • Time picker لضبط الزمن .
  • Button لضبط المنبه .

وسنستخدم Shared preference .

Broadcast Receiver لتنفيذ كود ما عند انتهاء الوقت المحدد وهنا سنعرض توست .

Broadcast Receiver لإعادة ضبط المنبه في حال إعادة تشغيل الجهاز او الخروج من وضع التوفير الفائق للطاقة ، وهنا موقع استخدام ال Shared preference لتخزين الوقت عند ضبطه لأول مرة واستخدامه مجددا لإعادة ضبط المنبه .

أولا : التكلم عن Date picker و Time picker :

تعريفهم بالأكتيفيتي

وعند الضغط على الزر يتم جلب السنة والشهر واليوم والساعة والدقيقة من المؤقتين ووضبطهم إلى تقويم ( تقويم مضبوط للوقت الحالي ، اي أننا سنجمع معطياتنا من التاريخ والزمن ونضعه في التقويم ) لأننا سنستخدم الوقت المضبوط في التقويم للمنبه .

شرح الكود :

  • Calendar أي التقويم مع تعريفه للوقت الحالي .
  • جلب المعلومات والإدخالات من التاريخ والوقت وضبطهم للتقويم أي أن المعلومات هذه أصبحت ضمن التقويم .
  • تحويل المعطيات إلى long تمهيدا لوضعهم ضمن المنبه ( بواسطة دالة getTimeInMills الخاصة بالتقويم ) .
  • حفظهم احتياطيا إلى Shared preferences في حال إعادة تشغيل الجهاز , كما أننا وضعنا boolean في حال لم نضبط منبه لأول مرة فإنه لن يعمل .
  • كود Alarm manager طبيعي مع تغيير في ال pending intent من getActivity إلى getBroadcast كوننا سنبث ولن نذهب لأكتيفيتي .

ولنضع رسالة في Broadcast Receiver ولتكن تحمل رسالة “انتهى الوقت” .

وفي ال Broadcast Receiver الأخرى سنستخدم قيمة ال long المخزنة عند ضبط المنبه لاول مرة واستخدامه مجددا عند اعادة الضبط .

انتهت تدوينتا , دمتم في رعاية الله .

السلام عليكم ورحمة وبركاته .

عن محمد معتز الشاغل

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

شاهد أيضاً

كيفية تغيير الباكيج نيم Package من الاندرويد ستوديو

بسم الله الرحمن الرحيم الكثير من المبتدئين في مجال برمجة تطبيقات الاندرويد, عندما يقوموا بتحميل …

3 تعليقات

  1. احمد بنكو

    شرح جميل جداً شكراً لكم

    بس لو سمحتوا
    انا عملتها جاهزة
    بس المشكلة انو لما امسح الـRecents تبعي المنبه ما بيشتغل
    يعني ما بيعمل بالخلفية
    يا ريت لو تساعدوني بهالنقطة

  2. السلام عليكم

    أخي لما أضبط الوقت واليوم واضغط على الزر بيخرج البرنامج للواجهة الرئيسية تبع الجهاز ، وبستناه لحد الوقت اللي اخترته بس مايصير أي شي ، يعني مايطلع المنبه

    +

    إذا في مجال تعطيني رابط للبرنامج كامل بكون شاكرة لك لأنه بحتاجه في مشروع التخرج للجامعة وماني قادرة اعمله

اترك تعليقاً

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

73 − = 70