Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android數據備份

Android數據備份

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

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 Data Backup TutZ喎?/kf/ware/vc/vcmlhbA==" data-ke-="" src="/uploadfile/2016/0203/20160203114435663.jpg" />

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

Android Data Backup Tutorial

復制的鍵之後,需要寫入到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. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved