آموزش JobScheduler در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش JobScheduler در برنامه نویسی اندروید می پردازیم JobScheduler چیست و چه استفاده دارد ؟ شاید با موقعیتی رو به رو شه باشید که بخواهید یک Task را بعدا با یکسری شرط انجام دهید JobScheduler به معنی زمان بندی کار است و اگر تعریف دقیقی از آن بخواهید می شود زمان بندی کار طبق شرایط خاصی البته این کار توسط Alarm Manager نیز امکان پذیر است در ادامه به بررسی ویژگی های این سرویس نیز خواهیم پرداخت با ما همراه باشید.
یکسری نکات را باید در استفاده از سرویس JobScheduler رعایت کنید.
اولین اینکه این سرویس از APi 21 به بعد یعنی اندروید 5 یا Lolipop قابل استفاده است.
پس باید minsdk را برابر با 21 قرار دهید.
JobScheduler در background اجرا می شود و در صورتی که یک شرط خاص اتفاق بیفتد اجرا می شود.
مزایای استفاده از JobScheduler

  • باتری گوشی اصلا مصرف نمی شود !
  • در background کارها انجام می شود.
  • ترد اصلی را استفاده نمی کند.

معایب آن

  • فقط تنها مشکل آن پشتیبانی از Api 21 به بعد است.

در ادامه به یک مثال خواهیم پرداخت با ما همراه باشید.
ابتدا در layout خود کد های زیر را قرار دهید.

در بالا دو دکمه تعریف شده است اولی برای شروع job و دومی برای لغو کردن job.
یک کلاس به نام SchedulerService.java ایجاد کرده و کد های زیر را در آن قرار دهید.

در ابتدا باید از کلاس خودمان از SchedulerService یا کلاسمون Extend از  JobService بگیریم هر job یک شروع و پایان دارد شروع و پایان آنها توسط به onStartJob و onStopJob انجام می شود.
حالا زمان آن است که این سرویس را در AndroidManifest.xml ریجستر کنیم برای اینکار کد زیر را در آن قرار دهید.

و در آخر هم کد مربوط به اکتیویتی اصلی ما همانند زیر می شود.

در بالا ابتدا یم instance از  JobScheduler گرفتم سپس در رویداد مربوط به هر کلیک کدی برای اجرا در یک دوره زمانی (3ثانیه ) یکبار تعریف کردیم و در  رویداد کلیک لغو هم JobScheduler را لغو کردیمو
حتما برنامه را اجرا کنید تا متوجه عملکرد اصلی شوید.
 
این آموزش هم به پایان رسید.
 
موفق و موید باشید.

مطالعه بیشتر