Hinweis: WorkManager wird als empfohlene Lösung für die meisten Anwendungsfälle der Hintergrundverarbeitung empfohlen. Im Leitfaden zur Hintergrundverarbeitung erfahren Sie, welche Lösung für Sie am besten geeignet ist.
Durch die Synchronisierung von Daten zwischen einem Android-Gerät und Webservern kann Ihre App für Ihre Nutzer deutlich nützlicher und überzeugender werden. So ist beispielsweise die Übertragung von Daten auf einen Webserver eine nützliche Sicherung, und die Datenübertragung von einem Server stellt sie dem Nutzer auch dann zur Verfügung, wenn das Gerät offline ist. Manchmal ist es für Nutzer einfacher, ihre Daten über eine Weboberfläche einzugeben und zu bearbeiten und dann auf ihrem Gerät zur Verfügung zu stellen. Oder sie möchten Daten über einen längeren Zeitraum erfassen und dann in einen zentralen Speicherbereich hochladen.
Sie können zwar Ihr eigenes System für die Datenübertragung in Ihrer App entwerfen, sollten jedoch das Synchronisierungsadapter-Framework von Android in Betracht ziehen. Dieses Framework unterstützt die Verwaltung und Automatisierung von Datenübertragungen und koordiniert Synchronisierungsvorgänge über verschiedene Anwendungen hinweg. Mit diesem Framework können Sie mehrere Features nutzen, die für von Ihnen entworfene Datenübertragungsschemas nicht verfügbar sind:
- Plug-in-Architektur
- Hiermit können Sie dem System Datenübertragungscode in Form von aufrufbaren Komponenten hinzufügen.
- Automatisierte Ausführung
- Ermöglicht die Automatisierung der Datenübertragung anhand verschiedener Kriterien wie Datenänderungen, verstrichener Zeit oder Tageszeit. Darüber hinaus fügt das System Übertragungen hinzu, die nicht in eine Warteschlange ausgeführt werden können, und führt sie nach Möglichkeit aus.
- Automatische Netzwerkprüfung
- Das System führt die Datenübertragung nur aus, wenn das Gerät mit dem Netzwerk verbunden ist.
- Verbesserte Akkuleistung
- Ermöglicht es Ihnen, alle Datenübertragungsaufgaben Ihrer App an einem Ort zu zentralisieren, sodass sie alle gleichzeitig ausgeführt werden. Die Datenübertragung wird zusammen mit Datenübertragungen aus anderen Apps geplant. Diese Faktoren verringern die Häufigkeit, mit der das System das Netzwerk einschalten muss, wodurch der Akku geschont wird.
- Kontoverwaltung und Authentifizierung
- Wenn für Ihre Anwendung Nutzeranmeldedaten oder eine Serveranmeldung erforderlich sind, können Sie optional die Kontoverwaltung und die Authentifizierung in die Datenübertragung einbinden.
In dieser Klasse wird gezeigt, wie Sie einen Synchronisierungsadapter und das gebundene Service
-Objekt erstellen, das ihn umschließt. Außerdem erfahren Sie, wie Sie die anderen Komponenten bereitstellen, mit denen Sie den Synchronisierungsadapter in das Framework einbinden können, und wie Sie den Synchronisierungsadapter für verschiedene Ausführungen ausführen.
Hinweis: Synchronisierungsadapter werden asynchron ausgeführt. Sie sollten daher bei ihrer Verwendung davon ausgehen, dass sie Daten regelmäßig und effizient, aber nicht sofort, übertragen. Wenn Sie eine Datenübertragung in Echtzeit ausführen müssen, sollten Sie dies in einem AsyncTask
- oder IntentService
-Objekt tun.
Unterricht
- Stub-Authenticator erstellen
- Hier erfahren Sie, wie Sie eine Komponente für die Kontobehandlung hinzufügen, die vom Synchronisierungsadapter-Framework als Teil Ihrer App erwartet wird. In dieser Lektion erfahren Sie, wie Sie der Einfachheit halber eine Stub-Authentifizierungskomponente erstellen.
- Stub-Inhaltsanbieter erstellen
- Hier erfahren Sie, wie Sie eine Contentanbieter-Komponente hinzufügen, die vom Synchronisierungsadapter-Framework als Teil Ihrer App erwartet wird. In dieser Lektion wird davon ausgegangen, dass Ihre App keinen Contentanbieter verwendet. Daher erfahren Sie, wie Sie eine Stub-Komponente hinzufügen. Wenn Sie bereits einen Contentanbieter in Ihrer App haben, können Sie diese Lektion überspringen.
- Synchronisierungsadapter erstellen
- Hier erfahren Sie, wie Sie Ihren Datenübertragungscode in eine Komponente kapseln, die vom Framework des Synchronisierungsadapters automatisch ausgeführt werden kann.
- Synchronisierungsadapter ausführen
- Informationen zum Auslösen und Planen von Datenübertragungen mit dem Sync Adapter-Framework.