我可以注册多个备份代理吗?

时间:2013-06-07 13:22:07

标签: android backup

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

是否可以在android清单中注册两个backupAgent(每个一个)或者我是否必须实现自己的自定义管理器来存储它们?

如果可能的话

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

不,您的应用程序不能有多个指定的备份代理类。您只需要编写代理的onBackup()/ onRestore()逻辑来处理需要保存的所有各种数据。恢复。有些人选择通过从BackupAgentHelper派生他们的代理类,然后为他们想要存储的不同类型的数据编写单独的BackupHelper子类来做到这一点。当然,这不是必要的;您可以在代理类中明确地完成所有操作 - 这基本上只是找出哪种方法最适合您。