Junior
WorkManager nədir?
sobes.tech Süni İntellekt
AI-dan cavab
WorkManager Android üçün tövsiyə olunan həll yoludur və bu, tətbiq bağlandıqda və ya cihaz yenidən başladıqda belə yerinə yetirilməli olan zəmanətli fon işi üçün nəzərdə tutulmuşdur.
O, Android Jetpack kitabxana dəstəsinin bir hissəsidir və tapşırıqları planlaşdırmaq üçün çevik və etibarlı bir yol təqdim edir.
Əsas üstünlüklər:
- Zəmanətli yerinə yetirmə: WorkManager, tətbiq zorla dayandırılsa və ya cihaz yenidən başlatılsa belə, fon işinin yerinə yetirilməsini təmin edir.
- Constraints dəstəyi: İşin yerinə yetirilməsi üçün şərtləri müəyyən etməyə imkan verir (məsələn, şəbəkə mövcudluğu, batareyanın doldurulması).
- Tək və dövri tapşırıqları dəstəkləyir: Tək və ya təkrarlanan tapşırıqları planlaşdıra bilərsiniz.
- İşin ləğv olunması dəstəklənir: Planlaşdırılmış işləri ləğv etmək üçün mexanizmlər təqdim edir.
- Fərqli Android versiyaları ilə uyğunluq: Əməliyyat sisteminin versiyasına uyğun API-lərdən istifadə edir (JobScheduler, AlarmManager və BroadcastReceiver).
- Çətin iş qrafiklərini dəstəkləyir: Bir neçə işi zəncirlər və ya paralel qruplar şəklində birləşdirməyə imkan verir.
Əsas komponentlər:
Worker: Yerinə yetirilməsi lazım olan faktiki işi müəyyən edir.WorkRequest: İşin necə və nə zaman yerinə yetirilməli olduğunu müəyyən edir.OneTimeWorkRequestvəPeriodicWorkRequestmövcuddur.WorkManager:WorkRequest-ləri planlaşdırır və idarə edir.
İstifadə nümunəsi:
// Tək seferlik iş üçün WorkRequest yaradılması
val uploadWorkRequest: WorkRequest =
OneTimeWorkRequestBuilder<MyUploadWorker>()
.build()
// İşin planlaşdırılması
WorkManager.getInstance(context).enqueue(uploadWorkRequest)
// Worker sinfi nümunəsi
class MyUploadWorker(
appContext: Context,
workerParams: WorkerParameters
) : Worker(appContext, workerParams) {
override fun doWork(): Result {
// Burada ağır və ya fon işi yerinə yetirilir
return Result.success() // və ya Result.failure(), Result.retry()
}
}