Android-데이터 백업
Android에서는 애플리케이션 데이터 및 설정에 대한 복원 지점을 제공하기 위해 애플리케이션 데이터를 원격 "클라우드"저장소에 백업 할 수 있습니다. 애플리케이션 데이터 만 백업 할 수 있습니다. 다른 애플리케이션 데이터에 액세스하려면 휴대 전화를 루팅해야합니다.
데이터 백업 애플리케이션을 만들려면 Google 백업 서비스에 애플리케이션을 등록해야합니다. 이것은 예제에서 설명되었습니다. 등록 후 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 또는 File 일 수 있습니다. 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. 아니요 | 방법 및 설명 |
---|---|
1 | onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) 구성된 각 핸들러에서 백업 프로세스를 실행하십시오. |
2 | onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) 구성된 각 핸들러에서 복원 프로세스를 실행하십시오. |
SharedPreferencesBackUpHelper 클래스의 메서드는 다음과 같습니다.
Sr. 아니요 | 방법 및 설명 |
---|---|
1 | performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) 구성된 SharedPreferences 그룹을 백업합니다. |
2 | restoreEntity(BackupDataInputStream data) 복원 데이터 스트림에서 적절한 공유 기본 설정 파일 저장소로 하나의 엔티티를 복원합니다. |
예
다음 예제는 BackupAgentHelper 클래스를 사용하여 애플리케이션 데이터의 백업을 만드는 방법을 보여줍니다.
이 예제를 실험하려면 실제 장치 또는 에뮬레이터에서 실행해야합니다.
단계 | 기술 |
---|---|
1 | Android 스튜디오를 사용하여 Android 애플리케이션을 만들고 com.example.backup 패키지에서 Backup으로 이름을 지정합니다. |
2 | Google 백업 서비스에 애플리케이션을 등록하십시오. |
삼 | AndroidManifest를 수정하여 필요한 키 및 기타 구성 요소를 각각 추가하십시오. |
4 | AndroidManifest.XML에서 지정한 이름으로 백업 에이전트 클래스를 만듭니다. |
5 | 응용 프로그램을 실행하고 결과를 확인합니다. |
구글 백업 서비스에 안드로이드 애플리케이션을 등록하세요. 그렇게하려면 이 링크를 방문하십시오 . 서비스 약관에 동의 한 후 애플리케이션 패키지 이름을 입력해야합니다. 아래에 나와 있습니다-
그런 다음 Android 백업 서비스에 등록을 클릭하십시오. 복사 할 AndroidManifest 코드와 함께 키를 제공합니다. 키를 복사하십시오. 아래에 나와 있습니다-
키를 복사 한 후에는 AndroidManifest.XML 파일에 작성해야합니다. 그 코드는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.backup" >
<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.example.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 클래스의 코드입니다. 클래스의 이름은 AndroidManifest.XML의 application 아래에있는 backupAgent 태그에 지정한 것과 동일해야합니다.
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 시스템 이미지에 애플리케이션을 설치합니다.
에뮬레이터를 사용하는 경우 Android 2.2 (API 레벨 8)에서 AVD를 만들고 사용합니다.
기기를 사용하는 경우 기기는 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
그런 다음 응용 프로그램을 다시 설치하고 결과를 확인하십시오.