Полезные примеры Android

Полезные примеры Android
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 определены другие методы. Они определены ниже —

N Метод и описание
1

onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)

Запустите процесс резервного копирования на каждом из настроенных обработчиков

2

onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState)

Запустите процесс восстановления на каждом из настроенных обработчиков

Ниже перечислены методы класса SharedPreferencesBackUpHelper.

N Метод и описание
1

performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)

Резервное копирование настроенных групп SharedPreferences

2

restoreEntity(BackupDataInputStream data)

Восстанавливает один объект из потока данных восстановления в его надлежащее хранилище файлов общих настроек

Пример

В следующем примере демонстрируется использование класса BackupAgentHelper для создания резервной копии данных вашего приложения.

Чтобы поэкспериментировать с этим примером, вам нужно запустить это на реальном устройстве или в эмуляторе.

Шаги Описание
1 Вы будете использовать Android studio для создания Android-приложения и назовите его Backup в пакете com.example.backup.
2 Зарегистрируйте свое приложение в службе резервного копирования Google.
3 Измените AndroidManifest, чтобы добавить соответствующий необходимый ключ и другие компоненты.
4 Создайте класс агента резервного копирования с именем, указанным в AndroidManifest.XML.
5 Запустите приложение и проверьте результаты

Зарегистрируйте свое приложение для Android с помощью службы резервного копирования Google. Для этого перейдите по этой ссылке . Вы должны согласиться с условиями обслуживания, а затем ввести имя пакета приложения. Это показано ниже —

Руководство по резервному копированию данных Android

Затем нажмите «Зарегистрироваться в службе резервного копирования Android». Он даст вам ваш ключ вместе с вашим кодом AndroidManifest для копирования. Просто скопируйте ключ. Это показано ниже —

Руководство по резервному копированию данных Android

После копирования ключа необходимо записать его в файл 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. Имя класса должно быть таким же, как вы указали в теге 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 с Android 2.2 (уровень API 8).

При использовании устройства оно должно работать под управлением Android 2.2 или выше и иметь встроенный Google Play.

Убедитесь, что резервное копирование данных включено

Если вы используете эмулятор, вы можете включить резервное копирование с помощью следующей команды из вашего SDK tools / path —

adb shell bmgr enable true

Если вы используете устройство, откройте настройки системы, выберите Конфиденциальность, затем включите Резервное копирование моих данных и Автоматическое восстановление.

Выполнение резервного копирования

В целях тестирования вы также можете сделать запрос с помощью следующей команды bmgr —

adb shell bmgr backup your.package.name

Запустите операцию резервного копирования, введя следующую команду.

adb shell bmgr run

Это заставляет диспетчер резервного копирования выполнять все запросы резервного копирования, которые находятся в его очереди.

Удалите и повторно установите приложение

Удалите приложение с помощью следующей команды —

adb uninstall your.package.name

Затем переустановите приложение и проверьте результаты.

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare