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