3

我想用BackupManager来支持我的应用程序的数据库。该文档讨论了BackupAgentand BackupAgentHelper,并且它指出BackupAgent如果您有数据库,则要使用它。

另一方面,它BackupAgentHelper有一个整洁FileBackupHelper的东西,让事情变得很容易。

我的问题:

1) 是否可以FileBackupHelper用来备份 /data/data/<myapp>/databases 中的 .sqlite 文件?

2)如果没有,是否可以使用SQLiteOpenHelper内部的方法onBackup()onRestore()(onCreate/onUpgrade 来备份/恢复)?

4

1 回答 1

0

有可能的。当您扩展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

于 2014-01-17T20:46:23.627 回答