Как восстановить из резервной копии базу данных области файлов в Android

#android #realm-mobile-platform

#Android #realm-мобильная платформа

Вопрос:

Я перепробовал много способов восстановления realm. Я попробовал, как из этого примера кода. Но восстановление базы данных realm из резервной копии не работает. как можно сделать другими способами?

Комментарии:

1. определите «не работает»

Ответ №1:

getExternalStoragePublicDirectory() больше не работает с Android 10, если вы не используете специальный флаг в AndroidManifest. И это вообще не будет работать в Android 11.

Вам необходимо реорганизовать процедуру резервного копирования / восстановления для работы с хранилищем с ограниченной областью действия и платформой доступа к хранилищу. Это руководство, которое я сделал, предназначено для SQLite, но оно должно быть в основном таким же с базой данных Realm:

https://medium.com/@gavingt/refactoring-my-backup-and-restore-feature-to-comply-with-scoped-storage-e2b6c792c3b

Вы также, вероятно, захотите отключить вход в систему с опережением записи 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();
}