fbpx

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

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

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

سنتكلم اليوم عن موضوع مهم للغاية ويستخدم كثيرا في البرامج وهو المنبه Alarm  وكيفية استخدامه في التطبيقات .

سنستعمل كلاس Alarm Manager

أولا : يجب علينا تحديد الأكتيفيتي المراد الذهاب عند انتهاء الوقت .

ثانيا : سنستخدم Pending intent وهو intent خاص يستخدم لأنواع محددة من التطبيقات ( Alarm , Notification ) ويتميز بأنه يحتاج إلى :

  • context .
  • request code وهذا الكود الخاص ب alarm manager وهو ما يميزه عن باقي alarm managers (  عبارة عن int ) .
  • intent .
  • flag سنضع في هذه الخانة PendingIntent.FLAG_UPDATE_CURRENT وتعني انه ممكن أن نستعمل ال pending intent و المنبه مرة أخرى , و إن كنت لن تستخدمه سوى مرة واحدة في كل التطبيق ولمرة واحدة بإمكانك وضع 0 ولكن أنا أفضل وضع PendingIntent.FLAG_UPDATE_CURRENT في كل الحالات .

سنتكلم عنه بالتفصيل في دروس لاحقة .

ثالثا : سنستخدم كلاس Alarm manager :

get System Service اي أننا سنجلب خدمة محددة .

رابعا : سنضبط المنبه بدالة set التي لها ثلاث باراميترات :

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

  • الباراميتر الثاني هو المدة المطلوبة ونكتب أولا : System.currentTimeMillis() أي جلب الوقت من الآن + المدة المطلوبة بالميلي ثانية ( أي كل 1000 ميلي ثانية تساوي 1 ثانية ) .
  • الباراميتر الثالث والأخير لدالة set هو pending intent وقد ضبطناه سابقا .

يصبح شكل الدلة في الأخير :

ولإلغاء المنبه نستخدم دالة cancel :

ولها باراميتر واحد هو pending intent وقد ضبطناه سابقا .


 

سنتكلم عن أمر أنه في حال احتجنا الى ايقاف المنبه من خارج الاكتيفيتي التي انشأناه فيها فكل ماعلينا إعادة كتابة الكود بنفس request code ووضع دالة cancel بدل من set .

نعطي مثال :

ملف اللياوت ل first.java :

وضعنا 2 button لبدأ المنبه وإيقافه و 1 EditText لتحديد الزمن ووحددنا نوعية الإدخال ارقام فقط .

وملف الجافا first.java :

 

وفي ملف الجاف عرفنا EditText و 2 button و AlarmManager .

ومهمة الزر الأول start جلب النص من EditText على شرط أن يكون طوله أكبر من الصفر لضمان الا يتم إدخال نص فارغ ومن ثم أخذ القيمة على شكل Integer بواسطة الكود :

بشرط أن يكون النص s رقم فعليا ووضعه وقت لمنبه ثم تشغيله للذهاب للاكتيفيتي الأخرى second وهي اكتيفيتي عادية لاتحوي شيء .

ومهمة الزر الثاني cancel إيقاف المنبه المضبوط سابقا .

أتمنى أن أكون ذكرت كل شيء … بإذن ستم إعداد دروس متقدمة لغير استخدام ..

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

عن مساهم

شاهد أيضاً

تعلم برمجة تطبيق اندرويد لمدونتك البلوجر (4) الاخير

نكمل الدرس الرابع والأخير في تعلم برمجة وتطوير تطبيق اندرويد لموقعك الإلكتروني من خلال جلب الخلاصات RSS المثال الذي نعمل عليه لبرمجة تطبيقك لمدونتك البلوجر

تعلم برمجة تطبيق اندرويد لمدونتك البلوجر (3)

نكمل معاً الدرس الثالث في تعلم برمجة وتطوير تطبيق اندرويد لموقعك الإلكتروني من خلال جلب الخلاصات RSS المثال الذي نعمل عليه لبرمجة تطبيقك لمدونتك البلوجر

التقنيات التي نستطيع برمجة تطبيقات والعاب الاندرويد بها

هل أنت محتار من أين تريد البدأ في مجال برمجة التطبيقات للهواتف الذكية أو الألعاب عالية الاداء ؟ تعرف في هذا المقال عن اللغات والتقنيات واختر منها ما يناسبك لدخول هذا المجال

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

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.