Estoy implementando el nuevo BackupAgentHelper
de Android OS 2.2.Copia de seguridad de datos de Android 2.2: ¿cómo hacer una copia de seguridad de DefaultSharedPreferences?
Para que funcione es necesario proporcionar el nombre de la SharedPreferences
que desea hacer copia de seguridad:
public class MyPrefsBackupAgent extends BackupAgentHelper {
// The name of the SharedPreferences file
static final String PREFS = "user_preferences";
// A key to uniquely identify the set of backup data
static final String PREFS_BACKUP_KEY = "prefs";
// Allocate a helper and add it to the backup agent
void onCreate() {
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS);
addHelper(PREFS_BACKUP_KEY, helper);
}
}
El problema es que utilizo el método PreferenceManager.getDefaultSharedPreferences()
en mi solicitud para obtener el valor por defecto compartida ejemplo preferencias. Ahora necesito proporcionar el nombre de ese archivo. ¿Cómo puedo saber qué nombre es?
(¿Y por qué no suministran un ayudante que sólo hace una copia de seguridad DefaultSharedPreferences
?)
Sí, si explora/data/data//shared_prefs se puede ver los archivos usados para SharedPreferences. El nombre que necesita es de hecho _preferences. Además, creé un problema para solicitar una forma más conveniente de hacer esto para las SharedPreferences "predeterminadas": http://code.google.com/p/android/issues/detail?id=11922. (Estoy de acuerdo con usted, debería estar allí.) –
¿Cómo hacer una copia de seguridad del conjunto de datos con una actividad de preferencia? – whynot
Si establece un punto de interrupción en 'prefs = PreferenceManager.getDefaultSharedPreferences (this);' puede consultar mBackupFile para obtener el nombre del archivo xml. –