#android #realm-mobile-platform
#Android #realm-мобильная платформа
Вопрос:
Я перепробовал много способов восстановления realm. Я попробовал, как из этого примера кода. Но восстановление базы данных realm из резервной копии не работает. как можно сделать другими способами?
Комментарии:
1. определите «не работает»
Ответ №1:
getExternalStoragePublicDirectory()
больше не работает с Android 10, если вы не используете специальный флаг в AndroidManifest. И это вообще не будет работать в Android 11.
Вам необходимо реорганизовать процедуру резервного копирования / восстановления для работы с хранилищем с ограниченной областью действия и платформой доступа к хранилищу. Это руководство, которое я сделал, предназначено для SQLite, но оно должно быть в основном таким же с базой данных Realm:
Вы также, вероятно, захотите отключить вход в систему с опережением записи onOpen()
. Вот как это выглядит в SQLite:
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
//disable write-ahead logging to make backup/restore work on all devices.
db.disableWriteAheadLogging();
}