0Pricing
Android Academy · Ders

Kısıtlamalar ve Zamanlama

Çalışmayı uygun koşullar altında yürütün.

Kısıtlamalar ve Zamanlama, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 3. 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.

Kısıtlamalar ve Zamanlama

Bir çalışan ne yapılacağını tanımlar. Bir WorkRequest bunun ne zaman ve hangi koşullar altında çalışacağını tanımlar. Bir istek oluşturur, kısıtlamalar ekler ve isteği kuyruğa alırsınız.

Kısıtlamalar Nedir

Kısıtlamalar, çalışmanız başlamadan önce doğru olması gereken koşullardır; örneğin bir ağ bağlantısının bulunması veya cihazın şarjda olması. WorkManager, bu koşullar karşılanana kadar bekler.

Kısıtlamaları Oluşturma

Gereksinimlerinizi bildirmek için Constraints.Builder kullanın.

val constraints = Constraints.Builder()
    .setRequiredNetworkType(NetworkType.UNMETERED)
    .setRequiresCharging(true)
    .build()

Yaygın Kısıtlama Türleri

Sık kullanılan kısıtlamalar şunlardır:

  • setRequiredNetworkType (CONNECTED, UNMETERED vb.)
  • setRequiresCharging
  • setRequiresBatteryNotLow
  • setRequiresDeviceIdle
  • setRequiresStorageNotLow

OneTimeWorkRequest Oluşturma

Bir kez çalışacak işler için çalışan sınıfınızla parametrelendirilmiş OneTimeWorkRequestBuilder kullanın ve kısıtlamaları ekleyin.

val request = OneTimeWorkRequestBuilder<UploadWorker>()
    .setConstraints(constraints)
    .build()

Girdi Verilerini İletme

setInputData ile isteğe girdi verileri ekleyin; çalışan bunları inputData aracılığıyla okur.

val request = OneTimeWorkRequestBuilder<UploadWorker>()
    .setInputData(workDataOf("user_id" to "42"))
    .setConstraints(constraints)
    .build()

Çalışmayı Kuyruğa Ekleme

WorkManager örneğini alın ve enqueue çağrısını yapın. WorkManager isteği kalıcı olarak saklar ve kısıtlamalar karşılandığında çalıştırır.

WorkManager.getInstance(context).enqueue(request)

Geri Çekilme Politikası

Bir çalışan retry() döndürdüğünde WorkManager yeniden denemeden önce bekler. setBackoffCriteria ile doğrusal veya üstel geri çekilmeyi seçerek stratejiyi yapılandırın.

val request = OneTimeWorkRequestBuilder<UploadWorker>()
    .setBackoffCriteria(
        BackoffPolicy.EXPONENTIAL,
        10, TimeUnit.SECONDS
    )
    .build()

Benzersiz Çalışma

Aynı işlerin yinelenenlerini zamanlamaktan kaçınmak için bir ad ve çakışma politikasıyla (KEEP, REPLACE veya APPEND) enqueueUniqueWork kullanın.

WorkManager.getInstance(context).enqueueUniqueWork(
    "sync_job",
    ExistingWorkPolicy.KEEP,
    request
)

Çalışma Durumunu Gözlemleme

Bir isteğin durumunu (ENQUEUED, RUNNING, SUCCEEDED, FAILED) getWorkInfoByIdFlow veya LiveData aracılığıyla gözlemleyebilirsiniz; bu, kullanıcı arayüzünde ilerlemeyi göstermek için yararlıdır.

WorkManager.getInstance(context)
    .getWorkInfoByIdFlow(request.id)
    .collect { info -> /* react to info.state */ }

Etiket Ekleme

İstekleri addTag ile etiketleyin; böylece daha sonra etikete göre ilişkili çalışma gruplarını sorgulayabilir veya iptal edebilirsiniz. Örneğin tüm "yükleme" çalışmalarını aynı anda iptal edebilirsiniz.

Hızlı Kontrol

Kısıtlamalar ve zamanlama konusundaki anlayışınızı sınayın.

Özet

Kısıtlamalara sahip bir çalışmayı zamanladınız:

  • Constraints.Builder, ağ ve şarj gibi koşulları ayarlar
  • OneTimeWorkRequestBuilder isteği oluşturur
  • enqueue / enqueueUniqueWork isteği gönderir
  • Geri çekilmeyi yapılandırın, durumu gözlemleyin ve çalışmayı etiketleyin

Sıradaki konu: yinelenen ve zincirlenmiş çalışmalar.

Sıkça Sorulan Sorular

“Kısıtlamalar ve Zamanlama” dersi ücretsiz mi?

Evet — “Kısıtlamalar ve Zamanlama” 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.

“Kısıtlamalar ve Zamanlama” dersinde ne öğreneceğim?

Çalışmayı uygun koşullar altında yürütü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 3. dersidir.

“Kısıtlamalar ve Zamanlama” 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