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



  • ۱
  • آبان

جلسه ۰۸ : Broadcast Receiver در اندروید

  • دسته‌بندی‌ها :
جلسه ۰۸ : Broadcast Receiver در اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. Broadcast Receiver در اندروید به سادگی به پیام های وضعیت های مختلف از برنامه های دیگر یا از سیستم عامل خود پاسخ می دهد. این پیام ها گاهی به عنوان رویداد یا هدف شناخته می شوند. به عنوان مثال، برنامه ها می توانند Broadcast Receiver را اجرا کنند تا برنامه های دیگر بدانند که برخی از داده ها به دستگاه بارگیری شده اند و برای آنها در دسترس است، بنابراین این Broadcast Receiver است که این ارتباط را پیگیری می کند و اقدام مناسب را آغاز می کند. برای آشنایی با برودکست ریسیور در اندروید در ادامه ی مباحث این بخش با ما همراه باشید.

      آشنایی با Broadcast Receiver در اندروید

      در ادامه ی مباحث این بخش ما شما را با چگونگی ایجاد و مدیریت Broadcast Receiver در اندروید آشنا می کنیم.

      دو مرحله مهم برای ایجاد برنامه Broadcast Receiver برای اهداف broadcaste سیستم وجود دارد:

      • ایجاد Broadcast Receiver
      • ریجستر کردن Broadcast Receiver

      ایجاد Broadcast Receiver

      یک Broadcast Receiver به عنوان یک زیر کلاس از Class BroadcastReceiver اجرا می شود.

      Broadcast Receiver با متد () onReceive که هر پیام را به عنوان پارامتر Intent object دریافت می کند اجرا می شود:

      مثال : 

      ریجستر کردن Broadcast Receiver

      یک برنامه برای اهداف Broadcast Receiver با ثبت یک گیرنده پخش از فایل AndroidManifest.xml گوش می دهد.

      در نظر داشته باشید ما قصد داریم MyReceiver را برای رویداد تولید شده ACTION_BOOT_COMPLETED ثبت کنیم.

      سپس بعد از اینکه سیستم اندروید فرآیند بوت را کامل انجام داد توسط رویداد MyReceiver خارج می شود.

      آشنایی با Broadcast Receiver در اندروید

      آشنایی با Broadcast Receiver در اندروید


      مثال : 

      در حال حاضر هر زمان که دستگاه Android شما بوت می شود، توسط BroadcastReceiver MyReceiver متوقف می شود.

      و پیاده سازی منطقی در onReceive() انجام می شود.

      چندين رویداد سيستمی توليد شده به عنوان پايگاه هاي استاتيك آخر در كلاس Intent وجود دارد.

      جدول زیر شامل لیستی از رویدادهای مهم سیستمی است.

      ردیفرویداد و توضیحات مربوطه
      ۱android.intent.action.BATTERY_CHANGED

      Sticky broadcast حاوی وضعیت شارژ، سطح و سایر اطلاعات مربوط به باتری است.

      ۲android.intent.action.BATTERY_LOW

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

      ۳android.intent.action.BATTERY_OKAY

      پس از اینکه باتری شروع به کم شدن کند نشان می دهد که در حال حاضر باتری خوب است.

      ۴android.intent.action.BOOT_COMPLETED

      این یک بار پس از اتمام سیستم به بوت شدن پخش می شود.

      ۵android.intent.action.BUG_REPORT

      یک فعالیت برای گزارش یک خطا است.

      ۶android.intent.action.CALL

      یک فراخوانی بر اساسی چیزی که در داده ها مشخص شده انجام می دهد.

      ۷android.intent.action.CALL_BUTTON

      کاربر دکمه ی  “call” را برای مراجعه به رابط کاربری شماره گیری فشار می دهد.

       

      ۸android.intent.action.DATE_CHANGED

      تاریخ تغییر کرده است.

      ۹android.intent.action.REBOOT

      دستگاه را راه اندازی مجدد کنید.

      سفارشی کردن Broadcast

      اگر می خواهید خودتان برنامه خود را تولید و ارسال شدن نکاتی را سفارشی کنید، شما باید با استفاده از متد () sendBroadcast در داخل کلاس فعالیت خود، این اهداف را ایجاد و ارسال کنید.

      اگر از متد (sendStickyBroadcast (Intent استفاده کنید، نکته ارسالی بعد از کامل شدن broadcast باقی می ماند:

      مثال : 

      این هدف com.pvlearn.CUSTOM_INTENT را نیز می توان با متد مشابه ثبت کرد، همانطور که قصد تولید سیستم را داریم:

      مثال : 

      مثال –

      این مثال به شما توضیح می دهد که چگونه BroadcastReceiver را برای ردیابی هدف سفارشی ایجاد کنید.

      هنگامی که با سفارشی کردن اهداف آشنا هستید، می توانید برنامه خود را برای ردگیری اهداف تولید شده سیستم برنامه ریزی کنید.

      ما مراحل اجرای مثال زیر را برای تغییر دادن برنامه ی Hello World که در بخش قبلی ایجاد کردیم ارائه می کنیم:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.example.pvlearn.myapplication قرار بدهید.
      ۲در فایل MainActivity.java متد () broadcastIntent را اضافه کنید.
      ۳ایجاد یک فایل جاوا جدید به نام MyReceiver.java تحت پکیج com.example.pvlearn.myapplication برای تعریف BroadcastReceiver ایجاد می کند.
      ۴یک برنامه می تواند یک یا چند متد سفارشی و سیستمی را بدون هیچ محدودیتی اداره کند.

      هر هدف که میخواهید دنبال کنید باید در فایل AndroidManifest.xml شما با استفاده از برچسب <receiver…/> ثبت شود.

      ۵به محتوای فایل res / layout / activity_main.xml دو دکمه برای اجرای broadcast اضافه کنید.
      ۶فایل string.xml را بدون تغییر رها کنید.
      ۷برنامه را اجرا کنید تا شبیه ساز آندروید را راه اندازی کنید و نتیجه تغییرات انجام شده در برنامه را تأیید کنید.

      کد برنامه ی زیر محتوای اصلاح شده ی فایل MainActivity.java است.

      ما به فایل MainActivity.java متد () broadcastIntent را اضافه کرده ایم.

      مثال : 

      محتوای فایل  MyReceiver.java بصورت زیر است:

      مثال : 

      ما به محتوای فایل FileManifest.xml نیز برچسب <receiver…/> را برای افزودن سرویس اضافه کرده ایم:

      مثال : 

      به مجتوای فایل res/layout/activity_main.xml نیز دو دکمه برای مدیریت broadcast اضافه کرده ایم:

      مثال : 

      اجرای برنامه

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

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

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

      آشنایی با Broadcast Receiver در اندروید

      آشنایی با Broadcast Receiver در اندروید – تست

      اکنون برای رسیدن به اهداف دلخواه ما، بر روی دکمه Broadcast Intent کلیک می کنیم.

      این کار هدف سفارشی ما “com.tutorialspoint.CUSTOM_INTENT” را که توسط BroadcastReceiver ثبت شده ما یعنی MyReceiver است را اجرا می کند.

      به عنوان پیاده سازی منطقی در پایین صفحه یک تست از شبیه ساز نمایش داده می شود:

      آشنایی با Broadcast Receiver در اندروید

      آشنایی با Broadcast Receiver در اندروید – تست ۲

      شما می توانید پیاده سازی های دیگر BroadcastReceiver را اجرا کنید تا از برخی اعمال سیستم مانند ریست شدن سیستم، تغییر تاریخ، باتری کم و… با اعلام این وضعیت به کاربر جلوگیری کنید.

      کلام آخر

      Broadcast Receiver در اندروید در واقع یک سیستم دریافت انواع وضعیت از طرف سیستم عامل اندروید است. مثالا می خواهید به محض قطع شدن اینترنت دستگاه و یا کم شدن شارژ باتری به کاربر اعلام کنید، برای این منظور می توانید از Broadcast Receiver استفاده کنید.

      QR:  جلسه ۰۸ : Broadcast Receiver در اندروید
      به اشتراک بگذارید