在我的 android 备份中,我想备份 SharedPreferences 和一些存储在 SQL 数据库中的数据。
是否可以在 android 清单中注册两个备份代理(每个一个),还是我必须实现自己的自定义管理器来存储两者?
如果它是可能的
<application
android:backupAgent=".SharedPrefBackupAgentHelper"
android:backupAgent=".SQLBackupAgent"
/>
我不是这方面的专家,因为我刚开始使用数据备份 API。但是,我相信如果你声明一个属性两次,它只会使用其中一个。所以在这种情况下,你只会实际注册.SQLBackupAgent
我要做的是有一个 BackupAgent 类,例如,.MultiBackupAgent
. 然后该类将初始化并调用您的两个备份代理的方法。
不可以,您的应用程序不能有多个指定的备份代理类。您只需要编写代理的 onBackup() / onRestore() 逻辑来处理您需要保存和恢复的所有各种数据。例如,有些人选择从 BackupAgentHelper 派生代理类,然后为他们想要存储的不同类型的数据编写单独的 BackupHelper 子类来执行此操作。当然,这不是必需的;你可以在你的代理类中明确地做这一切——基本上只是弄清楚什么最适合你。