我想使用 BackupManager
为我的应用程序备份数据库。该文档讨论了 BackupAgent
和 BackupAgentHelper
,它指出如果您有数据库,则要使用 BackupAgent
。
另一方面,BackupAgentHelper
有一个简洁的 FileBackupHelper
,这让事情变得非常简单。
我的问题:
1) 是否可以使用 FileBackupHelper
备份/data/data/
2) 如果没有,是否可以在 onBackup()
和 onRestore()
中使用 SQLiteOpenHelper
的方法(onCreate/onUpgrade to backup/restore)?
最佳答案
这是可能的。当您扩展 BackupAgentHelper 并实现其 onCreate() 时,您可以在其中执行如下操作:
addHelper(STATS_BACKUP_KEY, new DbBackupHelper(this, "my_db_name"));
您的 DbBackupHelper 类可以如下所示:
public class DbBackupHelper extends FileBackupHelper {
public DbBackupHelper(Context ctx, String dbName) {
super(ctx, "../databases/" + dbName);
}
}
有关完整示例,请查看 GitHub 上的 Andlytics 项目:AndlyticsProject .
关于Android BackupManager 和我的应用程序数据库 : best approaches,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014118/