8

Je suis l'implémentation du nouveau BackupAgentHelper à partir d'Android OS 2.2.Android 2.2 Sauvegarde des données: comment sauvegarder DefaultSharedPreferences?

Pour qu'il fonctionne, vous devez fournir le nom du SharedPreferences que vous souhaitez sauvegarder:

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); 
} 
} 

Le problème est que j'utilise la méthode PreferenceManager.getDefaultSharedPreferences() dans mon application pour obtenir l'instance de préférences par défaut partagé. Maintenant, je dois fournir le nom de ce fichier. Comment puis-je savoir quel est ce nom?

(Et pourquoi ils ne fournissent une aide qui fait juste une sauvegarde DefaultSharedPreferences?)

Répondre

16

On dirait qu'il est appelé "packagename_preferences"

+2

Oui, si vous naviguez/données/données//shared_prefs vous pouvez voir les fichiers utilisés pour SharedPreferences. Le nom dont vous avez besoin est en effet _preferences. En outre, j'ai créé un problème pour demander une méthode plus pratique pour cela pour les SharedPreferences "par défaut": http://code.google.com/p/android/issues/detail?id=11922. (Je suis d'accord avec vous, cela devrait être là.) –

+0

Comment sauvegarder un ensemble de données avec une PreferenceActivity? – whynot

+1

Si vous définissez un point d'arrêt à 'prefs = PreferenceManager.getDefaultSharedPreferences (this);' vous pouvez regarder mBackupFile pour le nom du fichier xml. –

Questions connexes