Android Backup-API

8

Kann jemand erklären, für welche genau die Android Backup API verwendet wird?

Ich habe die Verwendung der Backup-API und Datensicherung aus den Entwicklerdokumenten, aber es ist mir immer noch unklar.

Wann werden Daten gesichert & amp; restauriert?

Speziell in diesen Situationen:

  1. Ein Benutzer installiert meine App auf Gerät 1, Daten werden gesichert und der Benutzer installiert dann meine App auf Gerät 2. Werden Benutzerdaten von Gerät 1 automatisch auf Gerät 2 übertragen? Falls ja, tritt dies auf, wenn die App installiert wird oder wenn sie gestartet wird?

  2. Meine App ist auf 2 Geräten installiert. Wenn eine Änderung an Gerät 1 vorgenommen wird, wird diese automatisch auf Gerät 2 vorgenommen? Wenn nicht, ist es zumindest möglich, die Änderung an Gerät 2 vorzunehmen?

In einem Dokument heißt es

  

Der Sicherungsdienst ist nicht zum Synchronisieren von Anwendungsdaten vorgesehen   mit anderen Clients oder Speichern von Daten, auf die Sie während der   normaler Anwendungslebenszyklus Sie können keine Sicherungsdaten lesen oder schreiben   verlangen und können nicht anders als über die APIs darauf zugreifen   bereitgestellt von dem Sicherungs-Manager.

Aber in einem anderen,

  

Mit dem Android-Framework können Sie umfangreiche Cloud-fähige Apps erstellen   Synchronisieren Sie ihre Daten mit einem Remote-Webdienst, um sicherzustellen, dass alle Ihre Geräte sicher sind   immer synchron bleiben

Das scheint mir ein Widerspruch zu sein.

Genauer gesagt möchte ich kontinuierlich eine einzelne Datenbankdatei (weniger als 20 KB) über Geräte hinweg synchronisieren. Ist dies mit der Backup-API möglich?

    
Matt Robertson 13.01.2013, 01:13
quelle

2 Antworten

3

Bearbeiten: Also, um Ihre Frage zu beantworten - nein, es ist keine zuverlässige Möglichkeit, Ihre Daten zu synchronisieren.

  

Wenn ein Nutzer ein neues Gerät kauft oder ein bestehendes Gerät zurücksetzt, erwartet es möglicherweise, dass Google Play, wenn Ihre App während der Ersteinrichtung auf ihr Gerät zurückgesetzt wird, auch die mit der App verknüpften vorherigen Daten wiederherstellt. Dies geschieht standardmäßig nicht und alle Leistungen oder Einstellungen des Benutzers in Ihrer App gehen verloren.

Wie ich sehe, speichert Ihre App Daten in der Cloud. Sie schieben die Dateien auf die Backup-Server und mit dem API-Schlüssel (der für jedes Benutzer Google-Konto einzigartig ist) können Sie die Sicherung auf andere Geräte herunterladen, aber nur während der Installation der App oder durch eine manuelle Anfrage zugreifen. Die Dokumentation besagt:

  

Der Sicherungsdienst ist nicht dafür ausgelegt, Anwendungsdaten mit anderen Clients zu synchronisieren oder Daten zu speichern, auf die Sie während des Anwendungslebenszyklus zufällig zugreifen möchten.

Wie ich es verstehe (ohne dies selbst zu implementieren), können Sie dies nicht als zuverlässige Methode für die Cloud-Synchronisierung von Echtzeitdaten verwenden.

Das Manifest startet wahrscheinlich die Verarbeitung Ihrer Daten und bestimmt, ob eine Sicherung übertragen werden soll.

  

An einem bestimmten Punkt in der Zukunft ruft der Sicherungsmanager dann die onBackup () -Methode Ihres Sicherungsagenten

auf

Das Wiederherstellen einer Sicherung ist nicht manuell:

  

Normalerweise sollten Sie niemals eine Wiederherstellung manuell anfordern müssen, da dies automatisch geschieht, wenn Ihre Anwendung auf einem Gerät installiert wird. Wenn es jedoch erforderlich ist, eine manuelle Wiederherstellung auszulösen, rufen Sie einfach die requestRestore () -Methode auf.

    
Daniel 13.01.2013, 01:25
quelle
0

Seufzend sollte die Dokumentation nicht irgendwo "Sync" sagen. Ich sollte einige Patches einreichen, um das zu beheben. :) Dieser Mechanismus dient nicht zum Datenaustausch zwischen zwei Geräten.

Das Hauptziel der Backup-Infrastruktur in Android besteht darin, Ihren Nutzern eine gute Erfahrung zu bieten, wenn sie ein neues Gerät einrichten, beispielsweise wenn sie ein Tablet kaufen, das mit ihrem Telefon geliefert wird oder wenn ein Gerät herunterfällt und kaputt geht sie gründen einen Ersatz. Die Idee ist, dass das neu eingerichtete Gerät in einem vertrauten Zustand ist, mit den gleichen Apps und ihren Daten intakt, dem gleichen Hintergrundbild, falls zutreffend, etc ..

Um die Daten in Echtzeit zwischen den Geräten zu synchronisieren, sind die Sync Manager-Funktionen dafür geeignet.

    
ctate 08.01.2016 21:02
quelle

Tags und Links