【发布时间】:2020-09-02 04:27:49
【问题描述】:
我尝试了很多方法来恢复领域。我从sample code 开始尝试过。但是从备份文件恢复领域数据库不起作用。怎么能有别的办法?
【问题讨论】:
-
定义“不工作”
标签: android realm-mobile-platform
我尝试了很多方法来恢复领域。我从sample code 开始尝试过。但是从备份文件恢复领域数据库不起作用。怎么能有别的办法?
【问题讨论】:
标签: android realm-mobile-platform
getExternalStoragePublicDirectory() 自 Android 10 起不再有效,除非您在 AndroidManifest 中使用特殊标志。而且它在 Android 11 中根本不起作用。
您需要重构备份/恢复过程以使用 Scoped Storage 和存储访问框架。我做的这个教程是针对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();
}
【讨论】: