Junior
WorkManager nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
WorkManager, uygulama kapalı olsa veya cihaz yeniden başlatılsa bile yapılması gereken garantili arka plan işi için Android'de önerilen çözümdür.
Android Jetpack kitaplıklarının bir parçasıdır ve görevleri planlamak için esnek ve güvenilir bir yol sunar.
Ana avantajlar:
- Garantili yürütme: WorkManager, uygulama zorla durdurulmuş veya cihaz yeniden başlatılmış olsa bile arka plan işinin yürütülmesini garanti eder.
- Constraints desteği: İşin gerçekleştirilmesi için koşulları belirlemeye izin verir (örneğin, ağ bağlantısı, pil şarj durumu).
- Bireysel ve periyodik görev desteği: Tek seferlik veya tekrarlayan görevler planlanabilir.
- İş iptal desteği: Planlanan işleri iptal etmek için mekanizmalar sağlar.
- Farklı Android sürümleriyle uyumluluk: İşletim sistemi sürümüne bağlı olarak uygun API'leri kullanır (JobScheduler, AlarmManager ve BroadcastReceiver).
- Karmaşık iş grafiklerini destekleme: Birden fazla görevi zincirler veya paralel gruplar halinde birleştirmeye olanak tanır.
Ana bileşenler:
Worker: Gerçekleştirilecek işi tanımlar.WorkRequest: İşin nasıl ve ne zaman yapılacağını belirler.OneTimeWorkRequestvePeriodicWorkRequestmevcuttur.WorkManager:WorkRequest'leri planlar ve yönetir.
Kullanım örneği:
// Tek seferlik görev için WorkRequest oluşturma
val uploadWorkRequest: WorkRequest =
OneTimeWorkRequestBuilder<MyUploadWorker>()
.build()
// Görevi planlama
WorkManager.getInstance(context).enqueue(uploadWorkRequest)
// Worker sınıfı örneği
class MyUploadWorker(
appContext: Context,
workerParams: WorkerParameters
) : Worker(appContext, workerParams) {
override fun doWork(): Result {
// Burada ağır veya arka plan işi yapılır
return Result.success() // veya Result.failure(), Result.retry()
}
}