鍍金池/ 教程/ Android/ Android數(shù)據(jù)備份
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實(shí)例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢(shì)
Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
Android 資源組織和訪問
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過濾器
Android LinearLayout
Android登錄實(shí)例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動(dòng)畫)實(shí)例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對(duì)話框)
Android圖片效果
Android內(nèi)部存儲(chǔ)
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍(lán)牙)實(shí)例
Android RelativeLayout
Android最佳實(shí)踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實(shí)例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動(dòng)代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android數(shù)據(jù)備份

Android可以備份應(yīng)用程序的數(shù)據(jù)到遠(yuǎn)程“云”存儲(chǔ),以應(yīng)用程序的數(shù)據(jù)和設(shè)置的一個(gè)還原點(diǎn)??梢灾粋浞輵?yīng)用程序數(shù)據(jù)。為了訪問其他應(yīng)用程序的數(shù)據(jù),需要以root在手機(jī)上操作。

為了使數(shù)據(jù)備份的應(yīng)用程序,需要注冊(cè)使用谷歌備份服務(wù)應(yīng)用程序。這已在實(shí)施例進(jìn)行了說明。注冊(cè)后必須在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類來處理數(shù)據(jù)備份的所有操作。為了使用這個(gè)類,必須使用它的擴(kuò)展類。它的語法如下:

public class MyBackUpPlace extends BackupAgentHelper {

}

要備份的持久性數(shù)據(jù)無論是哪兩種形式。它可以是SharedPrefrences或者它可能是文件。 Android支持兩種類型的備份在 SharedPreferencesBackupHelper 和 FileBackupHelper 各自的類。

為了使用SharedPerefernceBackupHelper,需要實(shí)例的對(duì)象sharedPerefernces文件的名稱。它的語法如下:

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

需要做的最后一件事是通過指定的備份鍵字符串和輔助對(duì)象調(diào)用addHelper方法。它的語法如下:

addHelper(PREFS_BACKUP_KEY, helper);

addHelper方法將一個(gè)輔助自動(dòng)添加到給定數(shù)據(jù)集,以代理的配置。

除了這些方法,也有在 BackupAgentHelper 類中定義的其他方法。它們被定義如下:

Sr.No Method & description
1 onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
運(yùn)行備份過程的每個(gè)配置處理程序
2 onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState)
運(yùn)行在每個(gè)處理器配置的恢復(fù)過程

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

Sr.No Method & description
1 performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
備份配置SharedPreferences群體
2 restoreEntity(BackupDataInputStream data)
還原一個(gè)實(shí)體的恢復(fù)數(shù)據(jù)流的正確共享的首選項(xiàng)文件存儲(chǔ)

例子

下面的例子演示了如何使用BackupAgentHelper類來創(chuàng)建應(yīng)用程序數(shù)據(jù)的備份。

為了試驗(yàn)這個(gè)例子,需要在實(shí)際設(shè)備或模擬器運(yùn)行此。

Steps 描述
1 使用Android Studio創(chuàng)建Android應(yīng)用程序,并將其命名為Backup。在創(chuàng)建這個(gè)項(xiàng)目,確保目標(biāo)SDK編譯在Android SDK最新版本或使用更高級(jí)別的API。
2 注冊(cè)谷歌備份服務(wù)應(yīng)用程序。
3 修改AndroidManifest添加相應(yīng)的必要的密鑰和其他組件
4 在AndroidManifest.xml中指定的名稱創(chuàng)建備份代理類
5 運(yùn)行應(yīng)用程序并驗(yàn)證結(jié)果

注冊(cè)您的Android應(yīng)用程序使用谷歌備份服務(wù)。為了做到這一點(diǎn),訪問這個(gè)鏈接. 必須同意服務(wù)條款,然后輸入應(yīng)用程序包的名稱。它如下所示:

Android Data Backup Tutorial

然后點(diǎn)擊注冊(cè)與Android備份服務(wù)。這會(huì)給定鑰匙,以及AndroidManifest代碼進(jìn)行復(fù)制剛才的鍵。它如下所示:

Android Data Backup Tutorial

復(fù)制的鍵之后,需要寫入到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標(biāo)簽下的應(yīng)用程序在AndroidManifest.xml中指定的類的名稱應(yīng)該是相同的

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);
}

}

測(cè)試BackupAgent

實(shí)現(xiàn)備份代理之后,就可以測(cè)試備份和恢復(fù)功能如以下步驟,使用BMGR。

安裝應(yīng)用程序在一個(gè)合適的ANDROID系統(tǒng)映像。

如果使用模擬器,創(chuàng)建和使用AVD采用Android2.2(API等級(jí)8級(jí))。

如果使用的設(shè)備,設(shè)備必須運(yùn)行Android 2.2或更高版本,并已Google Play內(nèi)置

保證數(shù)據(jù)備份是啟用

如果使用模擬器,啟用備份SDK工具/路徑下面的命令:

adb shell bmgr enable 上一篇:Android UI控件下一篇:Android Alertdialog(警告對(duì)話框)