8

Sto implementando il nuovo BackupAgentHelper da Android OS 2.2.Backup dati Android 2.2: come eseguire il backup di DefaultSharedPreferences?

Per farlo funzionare è necessario fornire il nome del SharedPreferences che si desidera effettuare il backup:

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

Il problema è che io uso il metodo PreferenceManager.getDefaultSharedPreferences() nella mia applicazione per ottenere l'istanza preferenze predefinite condivisa. Ora ho bisogno di fornire il nome di quel file. Come posso sapere che nome è?

(E perché non forniscono un supporto che fa solo un backup DefaultSharedPreferences?)

risposta

16

Sembra che si chiama "packagename_preferences"

+2

Sì, se si naviga/dati/dati//shared_prefs si può vedere i file utilizzati per SharedPreferences. Il nome che ti serve è effettivamente _preferences. Inoltre, ho creato un problema per chiedere un modo più conveniente per farlo per "SharedPreferences" predefinite: http://code.google.com/p/android/issues/detail?id=11922. (Sono d'accordo con te, dovrebbe esserci.) –

+0

Come eseguire il backup del set di dati con PreferenceActivity? – whynot

+1

Se si imposta un punto di interruzione su 'prefs = PreferenceManager.getDefaultSharedPreferences (this);' è possibile consultare mBackupFile per il nome del file xml. –