Gui*_*lhE 3 backup android sharedpreferences google-drive-api
我正在开发一个应用程序,我想实现一个功能,可以在同一个用户设备之间共享,比如收藏夹,书签等.所以,我想实现像iCloud这样的东西.
我遇到了两个可能的想法:备份管理器和Google云端硬盘.我认为备份管理器是最简单的解决方案,可以满足我的需求,但也许我错了:
注意:备份服务不是用于将应用程序数据与其他客户端同步,也不是为了保存您在正常应用程序生命周期中要访问的数据.您无法按需读取或写入备份数据,除了通过备份管理器提供的API之外,无法以任何方式访问备份数据.
注意:Android备份服务提供的备份传输不保证在所有支持备份的Android设备上都可用.某些设备可能支持使用不同的传输进行备份,某些设备可能根本不支持备份,并且您的应用程序无法知道设备上使用的传输.
由于我存储SharedPreferences这个信息,我通过扩展开始我实现BackupAgentHelper如谷歌建议(http://developer.android.com/guide/topics/data/backup.html#BackupAgentHelper).
...每次用户更改某些数据时,您的应用都应调用dataChanged(),这会向备份管理器队列添加备份请求.
因此,每次我更改数据,保存或删除书签时,我都会调用:
BackupManager.dataChanged(C.PROJECT_PATH);
Run Code Online (Sandbox Code Playgroud)
当我的应用程序启动时,
contentBackupManager.requestRestore(new RestoreObserver() {})
Run Code Online (Sandbox Code Playgroud)
一切都是设置和AndroidManifest.xml.
不幸的是requestRestore正在返回!= 0(错误)并且我的BackupAngent(扩展BackupAgentHelper)onBackup和onRestore没有被调用(onCreate是).但是,再一次:
备份请求不会立即调用onBackup()方法.相反,备份管理器会等待适当的时间,然后对自上次执行备份以来请求备份的所有应用程序执行备份.
这是否意味着我只会在Google云端硬盘中找到我的答案?
你是不正确的,你不应该使用BackupManager它.您需要使用能够保存确切数据类型的第三方服务.所以你可以:
你选 :)
| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |