2010-10-17 14 views
8

Wprowadzam nową wersję BackupAgentHelper z systemu Android OS 2.2.Android 2.2 Backup danych: jak utworzyć kopię zapasową DefaultSharedPreferences?

go do pracy musisz podać nazwę SharedPreferences które chcesz kopii zapasowej:

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

problem jest użycie metody PreferenceManager.getDefaultSharedPreferences() w mojej aplikacji, aby uzyskać wspólne wystąpienie domyślne preferencje. Teraz muszę podać nazwę tego pliku. Jak mogę się dowiedzieć, co to za nazwa?

(I dlaczego oni nie dostarczają pomocnika, który właśnie robi DefaultSharedPreferences zapasową?)

Odpowiedz

16

Wygląda na to, że to nazywa "packagename_preferences"

+2

Tak, jeśli przeglądać/data/data//shared_prefs widać pliki używane dla SharedPreferences. Imię, którego potrzebujesz, to rzeczywiście _preferencje . Ponadto utworzyłem problem z prośbą o wygodniejszy sposób wykonania tej czynności dla "domyślnych" SharedPreferences: http://code.google.com/p/android/issues/detail?id=11922. (Zgadzam się z Tobą, że powinno tam być.) –

+0

Jak wykonać kopię zapasową zestawu danych za pomocą PreferenceActivity? – whynot

+1

Jeśli ustawisz punkt przerwania w 'prefs = PreferenceManager.getDefaultSharedPreferences (this);' możesz spojrzeć na mBackupFile dla nazwy pliku xml. –

Powiązane problemy