Android的备份API(Android Backup API)

2019-08-06 15:13发布

任何人都可以确切地解释了Android备份API用于什么?

我已阅读使用备份API和数据备份从开发文档,但它仍然是我不清楚。

当数据备份与恢复?

具体地,在这些情况:

  1. 用户安装我的应用程序上的设备1,数据备份,然后用户在安装设备2.我的应用程序并且从设备1的用户数据自动置于设备2? 如果是这样,这是安装应用程序时,当它启动或发生?

  2. 我的应用程序安装在2个设备。 当一个变化是在设备制造1时,它会自动对设备2款? 如果不是这样,至少有可能是它使装置2上的变化?

在一个文档,它说

备份服务是不适合与其他客户端同步应用程序数据或保存,你想正常的应用程序生命周期期间访问数据。 您无法读取或写入需求的备份数据,并在比通过备份管理器提供的API之外的任何方法不能访问它。

但在另一种,

Android框架可以帮助您构建丰富的支持云的应用程序,它们的数据同步到远程Web服务,确保所有设备始终保持同步

这似乎是一个矛盾给我。

更具体而言,我想持续同步跨设备的单个数据库文件(小于20 KB)。 这可能与备份API?

Answer 1:

编辑:因此,要回答你的问题-不,这不是一个可靠的方式同步您的数据。

当用户购买新设备或重置现有的一个,他们可能会想到,当谷歌播放的初始设置过程中恢复您的应用程序返回到他们的设备,与应用程序相关联的以前的数据恢复为好。 默认情况下,不会发生和用户的应用中的所有成就或设置都将丢失。

当我看到你的应用是数据存储到云中。 您的文件推到备份服务器,并使用该API密钥(这是唯一的每个用户的Google帐户),您可以将备份下载到其他设备,但在安装过程中的应用,或者做一个手动请求只能是访问。 该文件规定:

备份服务是不适合与其他客户端同步应用程序数据或保存你想要随意的应用程序生命周期期间访问数据。

据我了解它(还没有实现这个我自己),你不能以此作为云同步实时数据的可靠方法。

清单可能会启动您的数据的处理,并确定是否备份应推。

未来的某个时刻,备份管理器,然后调用备份代理的onBackup()方法

恢复备份并不手册:

通常,你不应该曾经有手动请求恢复,因为它发生时,自动将您的应用程序安装在设备上。 但是,如果有必要触发手动恢复,只需调用requestRestore()方法。



Answer 2:

叹了口气,文档不应该说“同步”的任何地方。 我应该提交一些补丁来解决这个问题。 :)这个机制不打算提供两个设备之间的数据交换。

在Android的备份基础架构的主要目的是给用户一个很好的经验,当他们成立了一个新的设备,例如,当他们购买平板电脑去与他们的电话,或当设备被丢弃和破坏,他们成立了一个替代品。 这个想法是,新设置的安装装置是在熟悉的状态,所有相同的应用程序及其数据完好无损,同样墙纸图像时适用,等等。

设备之间实时同步保持数据是什么,同步管理设施是。



文章来源: Android Backup API