android:allowBackup="true" 引发的惨案

·  阅读 104

前言

大家不要慌,先听我讲一个故事(吐血不止)

Coding中,新增了一个需求,表中需要多加一个字段,三下五除二,代码搞定,编译成功,安装好apk。 报错了???

检查发现库表中并没有我添加的字段。仔细查看代码,没有问题,一脸懵逼。 难道是安装有问题,或者之前卸载没有成功。又是一通操作,还是有问题。 给我的感觉就是我的代码根本没有执行,即使修改了数据的名称,同样如此! 我确定,卸载应用以后,历史数据库确实也同步卸载了。但是安装上应用以后,依然是以前的数据库。

有人备份了我的数据库吗?

总感觉有人默默的备份了我的数据,上网一查,果然,android:allowBackup= "true".会默默的将应用下的文件目录同步备份到google云端。当用户无论是重新下载,install,还是push成功以后,就会自动还原数据。我只能说好巧。

现在这台手机就是同时连接了外网,并且登录了google账号,一切就是这么巧。不过也是学习到了新的东西。

google 是这样给我说的

Android 为应用提供了两种将数据备份到云端的方式:应用自动备份和键值对备份。Android 6.0(API 级别 23)及之后的版本提供自动备份功能,该功能通过将数据上传到用户的 Google 云端硬盘帐号来保留数据。自动备份功能会备份系统分配给应用的大多数目录中的文件。自动备份功能可为每个应用最多存储 25MB 的文件数据。键值对备份功能(以前称为 Backup API 和 Android Backup Service)通过将设置数据上传到 Android Backup Service,以键值对的形式保留这些数据。

通常,我们推荐使用自动备份功能,因为该功能默认启用,且无需任何操作就可实现。以 Android 6.0(API 级别 23)或更高版本为目标平台的应用会自动启用自动备份功能。自动备份功能是一种基于文件的应用数据备份方法。尽管自动备份易于实现,但如果您有更具体的数据备份需求,则可以考虑使用键值对备份功能。

developer.android.com/guide/topic…

如何使用命令备份数据

blog.csdn.net/qq_31387043…

分类:
Android
标签: