Android開發教學
Android 開發環境配置
Android 架構
Android 應用組件
Android Hello World示例
Android 資源組織和訪問
Android Activity
Android Service
Android廣播接收器
Android內容提供者
Android碎片/片段
Android Intent過濾器
Android UI佈局
Android LinearLayout
Android RelativeLayout
Android TableLayout
Android AbsoluteLayout
Android FrameLayout
Android ListView
Android GridView
Android UI控件
Android TextView
Android EditText
Android AutoCompleteTextView
Android Button
Android ImageButton
Android CheckBox
Android ToggleButton
Android RadioButton
Android RadioGroup
Android事件處理
Android樣式和主題
Android樣式示例
Android主題示例
Android自定義組件
Android拖放
Android通知
Android基於位置服務
Android發送電子郵件
Android發送短信/SMS
Android撥打電話
發佈Android應用
ArrayAdapter
SimpleCursorAdapter
Android ProgressDialog
Android Spinner
使用活動代碼自定義Android組件
使用佈局文件自定義Android組件
Android自定義組件及屬性
Android Alertdialog(警告對話框)
Android Animation(動畫)實例
Android音頻捕獲(錄音)
Android音頻管理器實例
Android AutoCompleteTextView(自動完成)實例
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數據備份

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" />

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 類中定義的其他方法。它們被定義如下:

Sr.No

Method & description

1

onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
運行備份過程的每個配置處理程序

2

onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState)
運行在每個處理器配置的恢復過程

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

Sr.No

Method & description

1

performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
備份配置SharedPreferences羣體

2

restoreEntity(BackupDataInputStream data)
還原一個實體的恢復數據流的正確共享的首選項文件存儲

例子

下面的例子演示瞭如何使用BackupAgentHelper類來創建應用程序數據的備份。

爲了試驗這個例子,需要在實際設備或模擬器運行此。

Steps

描述

1

使用Android Studio創建Android應用程序,並將其命名爲Backup。在創建這個項目,確保目標SDK編譯在Android SDK最新版本或使用更高級別的API。

2

註冊谷歌備份服務應用程序。

3

修改AndroidManifest添加相應的必要的密鑰和其他組件

4

在AndroidManifest.xml中指定的名稱創建備份代理類

5

運行應用程序並驗證結果

註冊您的Android應用程序使用谷歌備份服務。爲了做到這一點,訪問這個鏈接. 必須同意服務條款,然後輸入應用程序包的名稱。它如下所示:

Android

然後點擊註冊與Android備份服務。這會給定鑰匙,以及AndroidManifest代碼進行復制剛纔的鍵。它如下所示:

Android

複製的鍵之後,需要寫入到AndroidManifest.xml文件。其代碼如下:

<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" > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" />

這裏是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

然後重新安裝應用程序和驗證結果