auf dieses Werfen Sie einen Blick:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
Aus der Dokumentation:
Firebase apps automatically handle temporary network interruptions for you. Cached data will still be available while offline and your writes will be resent when network connectivity is recovered. Enabling disk persistence allows our app to also keep all of its state even after an app restart. We can enable disk persistence with just one line of code.
https://firebase.google.com/docs/database/android/offline-capabilities
Darüber hinaus können Sie bestimmte Orte synchron halten:
DatabaseReference scoresRef = FirebaseDatabase.getInstance().getReference("scores");
scoresRef.keepSynced(true);
Die Einstellung der aktivierten Persistenz muss der allererste Aufruf der Firebase-API sein. Bevor Sie irgendwelche Fragen/etc. Eine gute Lage ist in Ihrer Application
Unterklasse:
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
Vergessen Sie nicht, Ihr Manifest entsprechend zu aktualisieren:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="my.package" >
...
<application android:name=".MainApplication">
...
</application>
</manifest>
Es ist wirklich so einfach. Und das macht Firebase so großartig :-)
Behalten Sie Ihre Änderungen bei (z. B. mit sqlite) und stellen Sie sie 'onResume' Ihrer' Activity' wieder her. – Mena