• Home
  • Courses
  • Portfolio
  • Contact
    Tiger 4 CodeTiger 4 Code
    • Home
    • Courses
    • Portfolio
    • Contact

      Android اندرويد

      • Home
      • Blog
      • Android اندرويد
      • 44 -اندرويد : بناء التنبيه Building a Notification

      44 -اندرويد : بناء التنبيه Building a Notification

      • Posted by Schwarztiger
      • Categories Android اندرويد
      • Date June 3, 2013
      • Comments 0 comment

       

      ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development

      اندرويد :  بناء التنبيه Building a Notification

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

      سوف نقوم ضمن هذا الدرس بما يلي :

      1. إنشاء باني للتنبيه Create a Notification Builder
      2. تحديد حدث التنبيه Define the Notification’s Action
      3. تحديد السلوك الناتج عن نقر التنبيه Set the Notification’s Click Behavior
      4. اصدار التنبيه Issue the Notification

      يفضل ايضا قراءة مايلي :

      • دليل واجهات التنبيهات Notification API Guide
      • دليل تصميم التنبيهات Notifications Design Guide

      سيشرح لك هذا الدرس كيف تنشأ وتصدر تنبيهاً.

      إن المثال الوارد ضمن هذا الدرس قائم على اساس صف NotificationCompat.Builder.

      يتواجد صف NotificationCompat.Builder ضمن مكتبة الدعم Support Library.

       لكي تؤمن افضل دعم للتنبيه وتدعم مجال واسع من  منصات العمل , يتوجب عليك استخدام الصف NotificationCompat, والصفوف الوارثة له, وبشكل خاصNotificationCompat.Builder .

      إنشاء باني التنبيه Create a Notification Builder

      عندما نقوم ببناء تنبيه Notification  فنحن بحاجة لأن نحدد محتويات واجهة المستخدم , بالاضافة للاحداث المرافقة له ان وجدت , وكل ذلك يتم من خلال غرض NotificationCompat.Builder.

      في الحد الآدنى, يتوجب ان يحوي غرض Builder  الامور التالية :

      • ايقونة صغيرة , يتم تحديدها واسنادها عبر التابع setSmallIcon().
      • عنوان , يتم تحديده واسناده عبر التابع setContentTitle().
      • النص التفصيلي , يتم تحديده واسناده عبر التابع setContentText().

      على سبيل المثال :

      NotificationCompat.Builder mBuilder =
          new NotificationCompat.Builder(this)
          .setSmallIcon(R.drawable.notification_icon)
          .setContentTitle("My notification")
          .setContentText("Hello World!");

      تحديد حدث التنبيه Define the Notification’s Action

      بالرغم من ان الاحداث اختيارية, فإنه يتوجب عليك ان تضيف على الاقل حدث واحد إلى تنبيهك.

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

      ضمن التنبيه, يتم تعريف الحدث نفسه عبر PendingIntent ويحوي على Intent  التي بدورها تقوم بتشغيل الفعالية المطلوبة ضمن تطبيقك.

      اما طريقة إنشاء الباني الخاص ب PendingIntent  فإنه يعتمد على نوع الفعلية التي ترغب بتشغيلها.

      عندما تقوم بتشغيل فعالية من تنبيه, فإنه يتوجب عليك حفظ مراحل التجوال التي مر بها المستخدم navigation.

      ضمن الترميز ادناه –  عند النقر على التنبيه يتم فتح فعالية جديدة تقوم بدورها بتوسيع سلوك التنبيه.

      ضمن الحالة ادناه , لا يوجد حاجة لإنشاء مكدس مؤقت للتراجع (للمزيد من المعلومات بالامكان الاطلاع على المقطع ادناه الذي يتحدث عن :  الحفاظ على التجوال عند تشغيل فعالية ماPreserving Navigation when Starting an Activity):

      Intent resultIntent = new Intent(this, ResultActivity.class);
      ...
      // Because clicking the notification opens a new ("special") activity, there's
      // no need to create an artificial back stack.
      PendingIntent resultPendingIntent =
          PendingIntent.getActivity(
          this,
          0,
          resultIntent,
          PendingIntent.FLAG_UPDATE_CURRENT
      );

      تحديد السلوك الناتج عند النقر على التنبيه Set the Notifications’ Click Behavior:

      لكي نربط الحدث الذي تم تعريفه عبر  PendingIntent  والذي تم انشائه بالخطوة السابقة مع شكل  وسلوك معين, يجب استدعاء التابع المناسب من توابع الصف NotificationCompat.Builder.

      على سبيل المثال, لكي تشغل فعالية عند نقر المستخدم على نص التنبيه ضمن مساحة التنبيه, قم باضافة PendingIntent  عبر استدعاء التابع setContentIntent(). على سبيل المثال:

      PendingIntent resultPendingIntent;
      ...
      mBuilder.setContentIntent(resultPendingIntent);

      اصدار التنبيه Issue the Notification

      لكي نصدر التنبيه نقوم بالامور التالية :

      نحصل على مستنسخ من NotificationManager.

      يتم استخدام التابع notify()لاصدار التنبيه. عندما تقوم باستدعاء التابع notify(), يجب ان تحدد معرف التنبيه Notification ID. بإمكانك استخدام هذا المعرف ID لتقوم فيما بعد بتحديث التنبيه. سيتم شرح ذلك بالتفصيل ضمن قسم “ادارة التنبيهات Managing Notifications”.

      يتم استدعاء التابع build(), الذي يعيد غرض من نوع Notification  والذي بدوره يحوي على الامور التي قمنا بتحديدها.

      على سبيل المثال :

      NotificationCompat.Builder mBuilder;
      ...
      // Sets an ID for the notification
      int mNotificationId = 001;
      // Gets an instance of the NotificationManager service
      NotificationManager mNotifyMgr = 
              (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
      // Builds the notification and issues it.
      mNotifyMgr.notify(mNotificationId, mBuilder.build());

      وإلى لقاء في الحلقة القادمة لنتابع ما بدأنا بالحديث عنه ضمن هذه الحلقة

      وإلى ذلك الحين استودعكم الله والسلام عليكم ورحمة الله وبركاته

      Tag:Android, Android development, Android linux, Android Market, android Notifying the User, Android Programming, Android system, building a notification, Google, اضافة التحريك عند تغير عناصر التنسيق Animating Layout Changes, التحريك ضمن اندرويد, اندرويد تنبيه المستخدم, برمجة اندرويد, تطوير وبرمجة اندرويد, نظام اندرويد

      • Share:
      author avatar
      Schwarztiger

      Previous post

      42 -اندرويد : تنبيه المستخدم Notifying the User
      June 3, 2013

      Next post

      45 : اندرويد : اضافة امكانية البحث adding search functionality
      June 3, 2013

      You may also like

      56 : اندرويد : استخدام “واجهة برمجة التطبيقات” API الخاصة بالنسخ الاحتياطي Backup
      20 August, 2013

        ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development اندرويد :  استخدام واجهة برمجة التطبيقات API الخاصة بالنسبخ الاحتياطي Backup السلام عليكم ورحمة الله وبركاته  سوف نتعلم في هذا الدرس مايلي : تسجيل التطبيق …

      56 : اندرويد : التزامن مع السحابة الالكترونية Syncing to the Cloud
      20 August, 2013

        ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development اندرويد :  التزامن مع السحابة الالكترونية Syncing to the Cloud السلام عليكم ورحمة الله وبركاته  سنتطرق ضمن هذه الحلقات إلى موضوع حديث نسبيا , الا …

      55 : اندرويد : ارسال طلبات عمل إلى الخدمة التي تعمل في الخلفية sending work request to the background service
      4 July, 2013

        ملاحظة : الموضوع عبارة عن حلقة من حلقات سلسلة برمجة وتطوير اندرويد Android Development اندرويد :  ارسال طلبات عمل إلى الخدمة التي تعمل في الخلفية Sending work requests to the background service السلام عليكم ورحمة الله وبركاته سوف نتعلم …

      Leave A Reply Cancel reply

      Your email address will not be published. Required fields are marked *

      Search

      Latest Courses

      Android Development

      Android Development

      $950.00
      HTML Tutorial: HTML & CSS for Beginners

      HTML Tutorial: HTML & CSS for Beginners

      $800.00
      Learn WordPress Content Management System

      Learn WordPress Content Management System

      Coming soon
      logo-eduma-the-best-lms-wordpress-theme

      info@tiger4code.com

      Links

      • Courses
      • Portfolio

      Copyright 2019 | Educational, Web & Mobile Development Platform By Tiger 4 Code