求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 
 

Android开发教程
Android 开发环境配置
Android 架构
Android 应用组件
Android Hello World示例
Android 资源组织和访问
Android Activity
Android Service
Android 广播接收器
Android 内容提供者
Android 碎片/片段
Android Intent过滤器
Android UI布局
Android UI控件
Android 事件处理
Android 样式和主题
Android 自定义组件
Android 拖放
Android 通知
Android 基于位置服务
Android 发送电子邮件
Android 发送短信/SMS
Android 拨打电话
发布Android应用
ndroid Alertdialog
Android Animation实例
Android音频捕获
Android音频管理器实例
Android
Android最佳实践
Android Bluetooth实例
Android Camera
Android Clipboard
Android自定义字体
Android数据备份
Android Gestures/手势
Android图片效果
Android图片切换
Android内部存储
Android JetPlayer实例
Android JSON解析器
Android加载Spinner
Android本地化
Android登录实例
Android MediaPlayer
 
 

Android数据备份
837 次浏览
35次  

Android可以备份应用程序的数据到远程“云”存储,以应用程序的数据和设置的一个还原点。可以只备份应用程序数据。为了访问其他应用程序的数据,需要以root在手机上操作。

为了使数据备份的应用程序,需要注册使用谷歌备份服务应用程序。这已在实施例进行了说明。注册后必须在AndroidManifest.xml?指定其键值

<application
     android:allowBackup="true"
     android:backupAgent="MyBackupPlace">
    <meta-data
        android:name="com.google.android.backup.api_key"
        android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" />
  </application>

Android提供BackUpAgentHelper类来处理数据备份的所有操作。为了使用这个类,必须使用它的扩展类。它的语法如下:

public class MyBackUpPlace extends BackupAgentHelper {    }

要备份的持久性数据无论是哪两种形式。它可以是SharedPrefrences或者它可能是文件。 Android支持两种类型的备份在 SharedPreferencesBackupHelper 和 FileBackupHelper 各自的类。

为了使用SharedPerefernceBackupHelper,需要实例的对象sharedPerefernces文件的名称。它的语法如下:

static final String File_Name_Of_Prefrences = "myPrefrences";
    SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, File_Name_Of_Prefrences);

需要做的最后一件事是通过指定的备份键字符串和辅助对象调用addHelper方法。它的语法如下:

addHelper(PREFS_BACKUP_KEY, helper);

addHelper方法将一个辅助自动添加到给定数据集,以代理的配置。

除了这些方法,也有在 BackupAgentHelper 类中定义的其他方法。它们被定义如下:

所述SharedPreferencesBackUpHelper类的方法在下面列出。

例子

下面的例子演示了如何使用BackupAgentHelper类来创建应用程序数据的备份。

为了试验这个例子,需要在实际设备或模拟器运行此。

注册您的Android应用程序使用谷歌备份服务。为了做到这一点, 必须同意服务条款,然后输入应用程序包的名称。它如下所示:

然后点击注册与Android备份服务。这会给定钥匙,以及AndroidManifest代码进行复制刚才的键。它如下所示:

复制的键之后,需要写入到AndroidManifest.xml文件。其代码如下:

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.yiibai.backup"
     android:versionCode="1"
     android:versionName="1.0" >
       <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
       <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:backupAgent="MyBackUpPlace"
        android:theme="@style/AppTheme" >
        <activity
           android:name="com.yiibai.backup.MainActivity"
           android:label="@string/app_name" >
           <intent-filter>
              <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
        </activity>
        <meta-data
            android:name="com.google.android.backup.api_key"
            android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" />
       </application>
    </manifest>

这里是BackUpAgentHelper类的代码。在backupAgent标签下的应用程序在AndroidManifest.xml中指定的类的名称应该是相同的

package com.example.backup;
    import android.app.backup.BackupAgentHelper;
    import android.app.backup.SharedPreferencesBackupHelper;
    public class MyBackUpPlace extends BackupAgentHelper { 
        static final String File_Name_Of_Prefrences = "myPrefrences";
        static final String PREFS_BACKUP_KEY = "backup";
       @Override
       public void onCreate() {
          SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this,
          File_Name_Of_Prefrences);
          addHelper(PREFS_BACKUP_KEY, helper);
  }
}

测试BackupAgent

实现备份代理之后,就可以测试备份和恢复功能如以下步骤,使用BMGR。

安装应用程序在一个合适的ANDROID系统映像。

如果使用模拟器,创建和使用AVD采用Android2.2(API等级8级)。

如果使用的设备,设备必须运行Android 2.2或更高版本,并已Google Play内置

保证数据备份是启用

如果使用模拟器,启用备份SDK工具/路径下面的命令:

adb shell bmgr enable true

如果使用的设备,打开系统设置,选择隐私,然后启用备份数据,并自动恢复。

执行备份

出于测试目的,也可以用下面的命令BMGR一个请求:

adb shell bmgr backup your.package.name

通过键入以下命令启动备份操作

adb shell bmgr run

这迫使备份管理器来执行那些在队列中的所有备份请求。

卸载并重新安装应用

卸载使用以下命令应用程序:

adb uninstall your.package.name

然后重新安装应用程序和验证结果


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



837 次浏览
35次
 捐助