zoukankan      html  css  js  c++  java
  • Android应用数据备份

    在Android上可以很方便地管理数据备份,那些不慎丢失设备的用户会对该功能感激不尽。备份数据会很安全地存储在云端,并且只在具有相同谷歌ID设备上恢复数据。

    下面是典型的AndroidManifest.xml文件片段:

    <application 

    android:allowBackup="true"

    android:backupAgent="MyBackupAgent"

    android:icon="@drawable/ic_launcher"

    android:label="@string/app_name"

    android:theme="@style/AppTheme">

    <meta-data android:name="com.google.android.backup.api_key"

    android:value="backup-key_string"/>

    .......

    </application>

    要打开应用程序的备份功能,只需要在android:backupAgent属性中指定备份代理的类名。该类会处理应用数据的备份与恢复。前例的meta_data属性指定了在谷歌备份服务中注册API密匙。具体注册网址为:https://developer.android.com/google/backup/signup.html。

    注册并获取API密匙后,把它赋值给android:value属性,如上面所示。虽然密匙是和应用程序的包名绑定的,不能用于其他应用程序,开发者还是要注意不要在发布的任何代码中公开分享它。

    下面的类是一个简单的备份代理,用于备份和恢复默认的偏好文件。

    注意:从PreferenceManager.getDefaultPreferences()得到的偏好文件名为<package-name>_preferences,API文档中并没说明,了解这一点对备份偏好文件有很大的帮助。

    public class MyBackupAgent extends BackupAgentHelper{

    public static final String PREFS_BACKUP_KEY="prefsBackup";


    @Override

    public void onCreate(){

    super.onCreate();

    SharedPreferencesBackupHelper sharedPreferencesBackupHelper=new SharedPreferencesBackupHelper(this,getPackageName()+"_preferences");

    addHelper(PREFS_BACKUP_KEY,sharedPreferencesBackupHelper);

    }

    }

    BackupAgentHelper类会自动备份与恢复选择的偏好文件。也可以使用FileBackupHelper类为其他常规文件添加备份。

    谷歌为Android应用提供的备份代理适合少量的数据。虽然备份SQLite数据库在技术上是可行的,但是最好还是先把数据库的内容转成序列化格式,然后压缩内容,最后备份文件。

    Android SDK提供了bmgr命令行工具,它允许对应用程序强制执行备份与恢复。这对开发应用很有用,因为可以用它检查一切是否正常。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    ifdef有大用处
    osgEarth编译
    CyanogenMod 7.1 for Sony Ericsson X8 下载 CM7.1 for 索爱X8下载
    ArcGIS影像配准与空间配准
    ArcGIS Server的切图原理深入
    Arcgis server的rest服务url写法解读
    地图切片公式
    新随笔
    solr的java调用
    配置文件
  • 原文地址:https://www.cnblogs.com/liyuanjinglyj/p/4656559.html
Copyright © 2011-2022 走看看