вы должны звонить FirebaseDatabase.getInstance().setPersistenceEnabled(true);
в любом месте, где вы хотите, чтобы ваши восстановленные данные были сохранены локально. Поэтому вы должны создать вспомогательный класс, подобный этому:
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class FirebaseUtils {
private static DatabaseReference mDatabaseRef;
private static FirebaseDatabase database;
public static DatabaseReference getDatabaseRef() {
if (mDatabaseRef == null) {
getDatabase();
mDatabaseRef = database.getReference();
// ...
}
return mDatabaseRef;
}
public static FirebaseDatabase getDatabase() {
if (database == null) {
database = FirebaseDatabase.getInstance();
database.setPersistenceEnabled(true);
// ...
}
return database;
}
}
Затем в своей деятельности, фрагменте и других местах, где вы хотите выполнять свою работу с базой данных, вы инициализируете объект DatabaseReference следующим образом:
private DatabaseReference mDatabase;
private DatabaseReference mPlaceRef;
....
mDatabase = FirebaseUtils.getDatabaseRef();
mPlaceRef = mDatabase .child("places");
...