دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • آبان

جلسه ۱۸ : Notifications (اطلاعیه ها) در اندروید

  • دسته‌بندی‌ها :
جلسه ۱۸ : Notifications (اطلاعیه ها) در اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. Notification یا اطلاعیه در اندروید پیامی است که می توانید به کاربر خارج از UI(طراحی اصلی) معمولی برنامه خود نمایش دهید. هنگامی که شما به سیستم قابلیت صدور اطلاعیه را می دهید،  Notification ابتدا به عنوان یک نماد در ناحیه اطلاع رسانی ظاهر می شود. سپس کاربر می توانید برای دیدن جزئیات Notification ، کشویی اطلاع رسانی را باز کند. هر دو ناحیه اطلاع رسانی و کشوی اطلاع رسانی، حوزه های کنترل شده سیستم هستند که کاربر می تواند در هر زمان Notification و جزئیات آن را مشاهده کند.ما مباحث این آموزش را به آشنایی با Notification در اندروید اختصاص داده ایم.

      Notification در اندروید

      در ادامه ی مباحث اطلاعیه در اندروید شما را با چگونگی ایجاد و پیاده سازی Notification در اندروید آشنا می کنیم.

      کلاس Android Toast یک متد مفید برای نشان دادن Notification کاربران ارائه می دهد.

      اما اطلاعیه ها پایدار نیستند و بعد از چند ثانیه که روی صفحه نمایش چشمک می زند ناپدید می شود.

      Notification در اندروید

      Notification در اندروید

      برای دیدن جزئیات یک اطلاعیه شما باید روی آیکون آن اطلاعیه واقع در بالای صفحه نمایش کلیک کنید.

      و هنگام کار با شبیه ساز اندروید باید نوار وضعیت را برای گسترش اطلاعیه آن کلیک کنید.

      سپس نتیجه چیزی شبیه تصویر زیر خواهد بود:

      اطلاعیه در اندروید

      اطلاعیه در اندروید

      فرم گسترش یافته ی فوق، می تواند یک Big View (نمایش بزرگ) داشته باشد که جزئیات بیشتری را در مورد اطلاعیه نمایش می دهد.

      شما می توانید حداکثر شش خط اضافی را در هر اعلان اضافه کنید.

      ایجاد و ارسال اطلاعیه در اندروید

      راه ساده ای برای ایجاد اعلان وجود دارد. برای ایجاد یک اعلان، مراحل زیر را در برنامه خود دنبال کنید:

      مرحله ۱ – ایجاد Notification Builder

      اولین گام ایجاد یک notification builder با استفاده از ()NotificationCompat.Builder.build است.

      از Notification Builder برای تنظیم خواص مختلف آگاه سازی مانند آیکون های کوچک و بزرگ، عنوان، اولویت و… استفاده می شود:

      مثال : 

      مرحله ۲- تنظیم ویژگی های notification builder

      هنگامی که شما شیء Builder را دارید، می توانید خواص اطلاعیه آن را با استفاده از Builder به صورت مورد نیاز خود تنظیم کنید.

      برای شروع باید با سه متد زیر جهت ایجاد اطلاعیه آشنا شوید:

      • () setSmallIcon : برای ایجاد یک آیکون کوچک استفاده می شود.
      • () setContentTitle : برای ایجاد یک عنوان استفاده می شود.
      • () setContentText : برای ایجاد متن اطلاعیه استفاده می شود.

      پیاده سازی متدهای فوق:

      مثال : 

      مرحله ۳ – الحاق action (عمل)

      این قسمت اختیاری است و اگر می خواهید یک اطلاعیه را با یک اطلاعیه دیگر پیوست کنید، لازم می شود.

      یک action به کاربر امکان می دهد تا از طریق اطلاعیه به یک Activity در برنامه ی شما دسترسی پیدا کند.

      این action توسط یک PendingIntent که حاوی یک درخواست است که فعالیت شما را در برنامه شما شروع می کند تعریف شده است.

      . برای ارتباط PendingIntent با یک gesture، متد مناسب NotificationCompat.Builder را فراخوانی کنید.

      به عنوان مثال اگر می خواهید کاربر هنگامی که روی اطلاعیه در کشوی اعلان کلیک می کند. فعالیتی آغاز شود PendingIntent را به فراخوانی ()setContentIntent اضافه کنید.

      یک شیء PendingIntent به شما کمک می کند که یک action را روی یک طرف اپلیکیشن خود اجرا کنید.

      ما از شیء  stack builder برای ایجاد یک پشته ی مصنوعی در ابتدای Activity ایجاد می کند کمک می گیریم.

      اینکار بازگشت به عقب را به صفحه اصلی برنامه ی شما تضمین می کند.

      مثال : 

      مرحله ۴- رفع اطلاعیه

      در نهایت شما می توانید آبجکت اطلاعیه را با فراخوانی () NotificationManager.notify به سیستم ارجاع دهید.

      حتما متد () NotificationCompat.Builder.build  را روی شیء builder قبل از اطلاعیه آن اعمال کنید.

      این متد ترکیبی از تمام گزینه هایی است که یک شیء جدید Notification را باز می گرداند.

      مثال : 

      کلاس NotificationCompat.Builder

      کلاس NotificationCompat.Builder امکان کنترل ساده ی تمام  flag ها و ایجاد طرح های Notification معمولی را می دهد.

      بعضی از متد های مهم و اغلب استفاده شده به عنوان بخشی از کلاس NotificationCompat.Builder در دسترس هستند:

      ردیفمتد و توضیحات
      ۱Notification build()

      تمام گزینه های تنظیم شده را ترکیب کرده و یک شیء Notification جدید ایجاد می کند.

      ۲NotificationCompat.Builder setAutoCancel (boolean autoCancel)

      تنظیم این flag یک Notification را به طور اتوماتیک وقتیکه کاربر در پنل کلیک کند کنسل می کند.

       

      ۳NotificationCompat.Builder setContent (RemoteViews views)

      یک RemoteView سفارشی را به جای یک استاندارد استفاده می کند.

      ۴NotificationCompat.Builder setContentInfo (CharSequence info)

      یک متن بزرگ را در سمت راست اعلان تنظیم می کند.

      ۵NotificationCompat.Builder setContentIntent (PendingIntent intent)

      زمانیکه روی کلیک می کنید یک PendingIntent را ارسال می کند.

      ۶NotificationCompat.Builder setContentText (CharSequence text)

      متن (ردیفnotification  دوم) اعلان را در یک اعلان استاندارد تنظیم می کند.

      ۷NotificationCompat.Builder setContentTitle (CharSequence title)

      متن (ردیف اول) اعلان را در یک اعلان استاندارد تنظیم می کند.

      ۸NotificationCompat.Builder setDefaults (int defaults)

      گزینه های notification پیش فرض را که استفاده می شود تنظیم کنید.

      ۹NotificationCompat.Builder setLargeIcon (Bitmap icon)

      نماد بزرگ را که در تیکر و notification نشان داده شده تنظیم می کند.

      ۱۰NotificationCompat.Builder setNumber (int number)

      شماره بزرگ را در سمت راست notification تنظیم می کند..

      ۱۱NotificationCompat.Builder setOngoing (boolean ongoing)

      تعیین اینکه آیا این یک notification در حال انجام است یا خیر

      ۱۲NotificationCompat.Builder setSmallIcon (int icon)

      نماد کوچک را برای استفاده در طرح های notification تنظیم می کند.

      ۱۳NotificationCompat.Builder setStyle (NotificationCompat.Style style)

      یک Style اطلاعیه  غنی را در زمان ساخت اعمال می کند.

      ۱۴NotificationCompat.Builder setTicker (CharSequence tickerText)

      هنگامی که notification برای اولین بار وارد شود، متن را که در نوار وضعیت نمایش داده شده تنظیم می کند.

      ۱۵NotificationCompat.Builder setVibrate (long[] pattern)

      vibration pattern را برای استفاده تنظیم می کند.

      ۱۶NotificationCompat.Builder setWhen (long when)

      زمان وقوع رویداد را تنظیم می کند. اطلاعیه ها در پانل به این زمان مرتب می کند.

      مثال

      مثال زیر قابلیت notification اندروید که با استفاده از کلاس NotificationCompat.Builder قابل استفاده است را نشان می دهد:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.pvlearn.myapplication قرار بدهید.
      ۲به محتوای فایل src / MainActivity.java کد (“”) notify را اضافه کنید.
      ۳ایجاد فایل src / NotificationView.java جدید برای نمایش طرح به عنوان بخشی از یک فعالیت جدید.
      ۴طرح res / layout / activity_main.xml را برای افزودن دکمه ی Notification ویرایش کنید.
      ۵یک فایل طراحی جدید به صورت XML res / layout / notification.xml ایجاد کنید.
      ۶ثابت های رشته ای را بدون تغییر رها کنید.
      ۷برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد.

      محتوای فایل src / com.example.notificationdemo / MainActivity.java بصورت زیر است:

      مثال : 

      محتوای فایل res/layout/notification.xml بصورت زیر خواهد بود:

      مثال : 

      محتوای فایل main activity که ویرایش شده در src / com.example.notificationdemo / MainActivity.java بصورت زیر است:

      مثال : 

      محتوای فایل res/layout/activity_main.xml نیز به این صورت است:

      مثال : 

      در محتوای فایل  res/values/strings.xml دو ثابت به صورت زیر تعریف می کنیم:

      مثال : 

      محتوای پیش فرض فایل  AndroidManifest.xml بصورت زیر خواهد بود:

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      اگر همه چیز بخوبی پیش برود شبیه ساز اندروید پنجره ی زیر را نمایش خواهد داد:

      Notification در اندروید تست-1

      Notification در اندروید تست-۱

      حالا روی button کلیک کنید، در بالای یک پیام “New Message Alert!” را مشاهده خواهید کرد.

      این اطلاعیه لحظه ای نمایش داده می شود و پس از آن شما صفحه زیر را با یک آیکون کوچک در گوشه سمت چپ بالا خواهید داشت.

      اطلاعیه در اندروید تست-2

      اطلاعیه در اندروید تست-۲

      notification نمای بزرگ

      قطعه کد زیر نشان می دهد که چگونه می توانید اعلان ایجاد شده در قطعه قبلی را تغییر دهید تا از سبک Inbox big استفاده کنید.

      در ادامه متد اصلاح شده ی () displayNotification را برای نمایش این قابلیت به روزرسانی می کنیم:

      مثال : 

      در حال حاضر اگر برنامه خود را اجرا کنید، نتیجه ی زیر را در فرم expanded مشاهده خواهید کرد:

      Notification در اندروید -تست نهایی

      Notification در اندروید -تست نهایی

      کلام آخر

      Notification در اندروید به شما قابلیت نمایش اطلاعیه ها و اعلان های موقتی را در بالای صفحه نمایش می دهد، که برای نمایش اعلان های متفرقه ی برنامه به کاربر بسیار مفید است از این رو ما مباحث این بخش را به اطلاعیه در اندروید اختصاص دادیم.

      QR:  جلسه ۱۸ : Notifications (اطلاعیه ها) در اندروید
      به اشتراک بگذارید