Android BackupManager和我的app db:最好的方法

时间:2012-01-26 04:58:59

标签: android database android-backup-service

我想使用BackupManager为我的应用支持数据库。该文档讨论了BackupAgentBackupAgentHelper,并指出如果您有数据库,则要使用BackupAgent

另一方面,BackupAgentHelper有一个整洁FileBackupHelper,使事情变得非常简单。

我的问题:

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

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

1 个答案:

答案 0 :(得分: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