1

在我的 android 备份中,我想备份 SharedPreferences 和一些存储在 SQL 数据库中的数据。

是否可以在 android 清单中注册两个备份代理(每个一个),还是我必须实现自己的自定义管理器来存储两者?

如果它是可能的

<application
    android:backupAgent=".SharedPrefBackupAgentHelper"
    android:backupAgent=".SQLBackupAgent"
/>
4

2 回答 2

0

我不是这方面的专家,因为我刚开始使用数据备份 API。但是,我相信如果你声明一个属性两次,它只会使用其中一个。所以在这种情况下,你只会实际注册.SQLBackupAgent

我要做的是有一个 BackupAgent 类,例如,.MultiBackupAgent. 然后该类将初始化并调用您的两个备份代理的方法。

于 2014-02-07T03:03:03.157 回答
0

不可以,您的应用程序不能有多个指定的备份代理类。您只需要编写代理的 onBackup() / onRestore() 逻辑来处理您需要保存和恢复的所有各种数据。例如,有些人选择从 BackupAgentHelper 派生代理类,然后为他们想要存储的不同类型的数据编写单独的 BackupHelper 子类来执行此操作。当然,这不是必需的;你可以在你的代理类中明确地做这一切——基本上只是弄清楚什么最适合你。

于 2014-11-20T02:40:10.543 回答