CodeBlanks Logo Icon CodeBlanks

PeriodicTask

PeriodicTask ile periyodik görev zamanlamayı öğrenirsin.

PeriodicTask nedir?

PeriodicTask, belirli aralıklarla tekrarlayan arka plan görevini temsil eder. Workmanager().registerPeriodicTask ile kaydedilir; frequency parametresi tekrar süresini belirler. Minimum süre platformlara göre değişir.

Workmanager().registerPeriodicTask(
  'sync-task',
  'sync',
  frequency: Duration(minutes: 15),
);

constraints ile kısıtlar

PeriodicTask'ın ne zaman çalışacağını kısıtlamak için Constraints kullanılır. Örneğin yalnızca şarja takılıyken veya ağ bağlıyken çalışacak şekilde ayarlanabilir. Bu, pil ve veri tasarrufu sağlar.

Workmanager().registerPeriodicTask(
  'sync-task',
  'sync',
  frequency: Duration(minutes: 15),
  constraints: Constraints(
    networkType: NetworkType.connected,
  ),
);

Uygulama Periyodik görev kaydet

Workmanager().registerPeriodicTask ile 'sync-task' kimliği, 'sync' callback adı ve 15 dakikalık frequency ile görev kaydet ve 'ok' yazdır.

Başlangıç kodu

main.dart
class Workmanager {
  void initialize(Function dispatcher, {bool isInDebugMode = false}) {}
  void registerPeriodicTask(String uniqueId, String taskName, {required Duration frequency}) {}
}

bool callbackDispatcher(String task) => true;

void main() {
  // periyodik görev kaydet
  // 'ok' yazdır
}

Örnek çözüm

main.dart
class Workmanager {
  void initialize(Function dispatcher, {bool isInDebugMode = false}) {}
  void registerPeriodicTask(String uniqueId, String taskName, {required Duration frequency}) {}
}

bool callbackDispatcher(String task) => true;

void main() {
  Workmanager().registerPeriodicTask(
    'sync-task',
    'sync',
    frequency: Duration(minutes: 15),
  );
  print('ok');
}

Beklenen çıktı

ok

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 PeriodicTask'ın tekrar süresi hangi parametre ile belirtilir?

  • frequency Doğru cevap
  • tag
  • constraints
  • initialDelay

Açıklama: frequency parametresi tekrar süresini belirler; initialDelay yalnızca ilk çalışmanın gecikmesini verir.

2 Periyodik görev kaydet

Soru
Workmanager().____(
  'sync-task',
  'sync',
  frequency: Duration(minutes: 15),
);
Cevap
Workmanager().registerPeriodicTask(
  'sync-task',
  'sync',
  frequency: Duration(minutes: 15),
);

Açıklama: Periyodik görev kaydetmek için registerPeriodicTask metodu çağrılır; frequency parametresi tekrar süresini verir.

3 PeriodicTask parçaları

Kavram Anlamı
registerPeriodicTask Periyodik kayıt
frequency Tekrar süresi
Constraints Çalışma kısıtları
NetworkType.connected Ağ bağlıyken

İleri seviye bölümündeki tüm dersler