PeriodicTask
- Flutter kursu
- İleri seviye
- Ders 44/69
- 4 dk
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
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
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
Workmanager().____(
'sync-task',
'sync',
frequency: Duration(minutes: 15),
);
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 |