0Pricing
Android Academy · Ders

Worker Oluşturma

Arka plan çalışmasını bir Worker içinde tanımlayın.

Worker Oluşturma, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.

Çalışan Oluşturma

WorkManager'daki arka plan çalışmasının birimi çalışandır. Bir çalışan temel sınıfından türeterek ve çalışma yöntemini geçersiz kılarak görevi tanımlarsınız.

CoroutineWorker

Kotlin için CoroutineWorker sınıfını genişletin. Bunun doWork() işlevi bir suspend işlevidir; böylece diğer askıya alınabilir işlevleri çağırabilir ve doğal biçimde bir arka plan dağıtıcısında çalışabilirsiniz.

class UploadWorker(
    context: Context,
    params: WorkerParameters
) : CoroutineWorker(context, params) {
    override suspend fun doWork(): Result {
        // background work here
        return Result.success()
    }
}

Kurucu

Her çalışan, kurucusunda bir Context ve WorkerParameters alır ve bunları üst sınıfa iletir. WorkManager çalışanınızı sizin için örneklendirir; kurucuyu doğrudan hiçbir zaman çağırmazsınız.

doWork Bir Sonuç Döndürür

doWork(), sonucu açıklayan bir Result döndürmelidir. Üç olasılık vardır.

  • Result.success()
  • Result.retry()
  • Result.failure()

Result.success

Çalışma tamamlandığında Result.success() döndürün. Çalışma kuyruktan kaldırılır. Zincirlenmiş çalışmaya iletmek için çıktı verisi ekleyebilirsiniz.

override suspend fun doWork(): Result {
    uploadLogs()
    return Result.success()
}

Result.retry

Geçici bir ağ hatası gibi geçici bir hata için Result.retry() döndürün. WorkManager, geri çekilme politikasına göre çalışanı daha sonra yeniden çalıştırır.

override suspend fun doWork(): Result {
    return try {
        syncData()
        Result.success()
    } catch (e: IOException) {
        Result.retry()
    }
}

Result.failure

Yeniden denemenin çözmeyeceği geçersiz girdi gibi kalıcı bir hata için Result.failure() döndürün. Çalışma durur ve ona bağımlı zincirlenmiş çalışmalar çalıştırılmaz.

Girdi Verilerini Okuma

Kuyruğa ekleme sırasında küçük girdileri Data aracılığıyla iletir ve bunları çalışanın içinde inputData ile okursunuz. Veriyi küçük tutun; büyük veri yükleri için kullanılmaz.

override suspend fun doWork(): Result {
    val userId = inputData.getString("user_id") ?: return Result.failure()
    sync(userId)
    return Result.success()
}

Çıktı Verilerini Döndürme

Çalışanlar sonuçlarında Data döndürebilir; zincirlenmiş çalışanlar bunu girdi olarak alır. Adımlar arasında sonuçları bu şekilde iletirsiniz.

val output = workDataOf("count" to 42)
return Result.success(output)

Doğru Dağıtıcıda Çalışma

CoroutineWorker, varsayılan olarak doWork() işlevini Dispatchers.Default üzerinde çalıştırır. Engelleyici G/Ç işlemleri için varsayılan havuzu tüketmemek üzere withContext(Dispatchers.IO) ile geçiş yapın.

override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
    readAndUploadFile()
    Result.success()
}

Çalışanları Bağımsız Tutma

Bir çalışan zamanlandıktan uzun süre sonra yeni bir işlemde çalışabilir. Uygulamanın bellekteki durumuna güvenmeyin; ihtiyacınız olanı girdi verileriyle iletin veya kalıcı depolamadan okuyun.

Hızlı Kontrol

Çalışan oluşturma konusundaki anlayışınızı sınayın.

Özet

Bir çalışan oluşturdunuz:

  • CoroutineWorker sınıfını genişletip askıya alınabilir doWork() işlevini geçersiz kılın
  • Result.success(), Result.retry() veya Result.failure() döndürün
  • inputData değerini okuyup çıktı olarak Data döndürün
  • Engelleyici çalışmalar için Dispatchers.IO kullanın; çalışanları bağımsız tutun

Sıradaki konu: kısıtlamalar ve zamanlama.

Sıkça Sorulan Sorular

“Worker Oluşturma” dersi ücretsiz mi?

Evet — “Worker Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.

“Worker Oluşturma” dersinde ne öğreneceğim?

Arka plan çalışmasını bir Worker içinde tanımlayın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Worker Oluşturma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. WorkManager Ne Zaman Kullanılır
  2. Worker Oluşturma
  3. Kısıtlamalar ve Zamanlama
  4. Yinelenen ve Zincirlenmiş Çalışmalar
← Android Academy Sayfasına Dön