первоначальное использование sharedpreferences.
BackupManager bm = new BackupManager(getApplicationContext());
SharedPreferences sharedPreferences = getSharedPreferences("AppData", MODE_PRIVATE);
if(sharedPreferences.getBoolean("my_first_time", true)) {
sharedPreferences.edit().putBoolean("my_first_time", false).apply();
sharedPreferences.edit().putString("user_id", String.valueOf(dbh.insertUserId())).apply();
sharedPreferences.edit().putInt("noteIndex", -1).apply();
sharedPreferences.edit().putInt("checklistIndex", -1).apply();
bm.dataChanged();
}
Резервное копирование данных
public class MyPrfsBackupAgent extends BackupAgentHelper {
@Override
public void onCreate() {
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, "AppData");
addHelper("sharedprefs_key", helper);
}
}
Моя цель - сделать резервную копию всего файла sharedpreferences«AppData» и восстановить его после переустановки функции не в состоянии выполнить свою задачу. Я попробовал его с помощью allowbackup в манифесте как true, так и false, и запустил его на моем реальном устройстве, чтобы проверить его, но, похоже, ничего не работает соответственно.
элементы добавлены в AndroidManifest.xml в попытке исправить это
android:backupAgent=".BackupData$MyPrfsBackupAgent"
<meta-data android:name="com.google.android.backup.api_key"
android:value="value" />
Я следовал документации по этому и другим ссылкам на stackoverflow, но ни одна из них не помогла мне решить проблему. Я был бы готов попробовать другой способ резервного копирования / восстановления, но не могу найти другой и не буду использовать autoBackup, потому что он нацелен на sdk 23, в то время как мой минимум равен 21.