Перейдите по этой ссылке , написанной Рото Мейером, она очень хорошо объясняет, как вы должны сделать резервную копию данных.
Ниже приводится выдержка из нее ..
"Диспетчер резервного копирования был добавлен в Android в Froyo, и его реализация настолько проста, насколько я могу представить.
Все, что вам нужно сделать, это расширить BackupAgentHelper
и создать новый SharedPreferencesBackupHelper
в его обработчике onCreate
.
Как показано в PlacesBackupAgent, ваш экземпляр помощника резервного копирования общих настроек берет имя вашего файла общих настроек, и вы можете указать ключ для каждого из предпочтений, которые вы хотите сделать резервную копию. Это должны быть только пользовательские настройки - не рекомендуется делать резервные копии переменных экземпляра или состояния. "
public class PlacesBackupAgent extends BackupAgentHelper {
@Override
public void onCreate() {
SharedPreferencesBackupHelper helper = new
SharedPreferencesBackupHelper(this, PlacesConstants.SHARED_PREFERENCE_FILE);
addHelper(PlacesConstants.SP_KEY_FOLLOW_LOCATION_CHANGES, helper);
}
}
"Чтобы добавить агент резервного копирования в свое приложение, необходимо добавить атрибут android:backupAgent
к тегу приложения в манифесте."
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:backupAgent="PlacesBackupAgent">
"Вам также необходимо указать ключ API (который вы можете получить здесь: http://code.google.com/android/backup/signup.html)"
<meta-data android:name="com.google.android.backup.api_key"
android:value="Your Key Goes Here" />
"Чтобы запустить резервное копирование, достаточно сообщить диспетчеру резервного копирования, что резервные копии данных изменились. Я делаю это в классах SharedPreferenceSaver
, начиная с *FroyoSharedPreferenceSaver*
."
public void savePreferences(Editor editor, boolean backup) {
editor.commit();
backupManager.dataChanged();
}