android - 如何从备份代理保存的路径恢复数据库android

标签 android mysql sqlite android-backup-service

我使用此代码来保存数据库,使用 BackupAgent

    public class MyBackupAgent extends BackupAgentHelper {

    String DATABASE_NAME = "mydb";
    String DATABASE_FILE_NAME = "mydb.db";
    @Override
    public void onCreate() {
        SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);
        addHelper(PREFS_BACKUP_KEY, helper);

        FileBackupHelper dbs = new FileBackupHelper(this, DATABASE_FILE_NAME);
        addHelper("dbs", dbs);
    }

    @Override
    public File getFilesDir() {
        File path = getDatabasePath(DATABASE_FILE_NAME);
        return path.getParentFile();
    }

}

现在我想知道如何恢复数据库? 请帮我解决这个问题,提前致谢

最佳答案

理论上,只有使用该代码并在 AndroidManifest 上进行更改,备份才应按照 Android Google 页面通知进行工作。

请查看此页面:http://developer.android.com/guide/topics/data/backup.html

以上页面的摘要:

要实现备份代理,您必须:

1 - 使用 android:backupAgent 属性在 list 文件中声明您的备份代理。 2 - 使用备份服务注册您的应用程序。 Google 提供 Android 备份服务作为大多数 Android 设备的备份服务,这要求您注册应用程序才能正常运行。任何其他可用的备份服务可能也需要您注册才能将您的数据存储在其服务器上。 3 - 通过以下任一方式定义备份代理:扩展 BackupAgent 或扩展 BackupAgentHelper;

关于android - 如何从备份代理保存的路径恢复数据库android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28247966/

相关文章:

android - 应用程序android内部的语言切换

java - 当我的数据包含0x0a和0x0d时,如何从android中的BLE读取完整长度的数据?

android - 带有 Gradle 错误的 Cordova 6.1.0

php - MySQL 和 PHP 上的表情符号 : why some symbol yes other not?

mysql - 如何应用约束并使用 NO Action 规则意味着 Take NO ACTION

java - Android SQLite 中的原始查询 - 插入或忽略

android - 如何读取 SD 卡 ID 号?

php - 如何使用 PHP 将对象转换为字符串

sqlite - 错误 175 : The specified store provider cannot be found in the configuration, 或无效。 SQLite

node.js - 如何使用sequelize重置autoIncrement主键?