2010-10-17 36 views
8

Tôi đang triển khai BackupAgentHelper mới từ Android OS 2.2.Android 2.2 Sao lưu dữ liệu: Cách sao lưu DefaultSharedPreferences?

Đối với nó để làm việc bạn cần phải cung cấp tên của SharedPreferences mà bạn muốn sao lưu:

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

Vấn đề là tôi sử dụng phương pháp PreferenceManager.getDefaultSharedPreferences() trong ứng dụng của tôi để có được những mặc định chia sẻ dụ sở thích. Bây giờ tôi cần phải cung cấp tên của tập tin đó. Làm thế nào tôi có thể tìm ra tên đó là gì?

(Và tại sao họ không cung cấp một helper mà chỉ làm một bản sao lưu DefaultSharedPreferences?)

Trả lời

16

Dường như nó được gọi là "packagename_preferences"

+2

Vâng, nếu bạn duyệt/data/data//shared_prefs bạn có thể nhìn thấy các tệp được sử dụng cho SharedPreferences. Tên bạn cần thực sự là _preferences. Ngoài ra, tôi đã tạo một vấn đề để yêu cầu một cách thuận tiện hơn để thực hiện việc này cho SharedPreferences "mặc định": http://code.google.com/p/android/issues/detail?id=11922. (Tôi đồng ý với bạn, điều đó nên có.) –

+0

Làm thế nào để sao lưu dữ liệu được thiết lập với một PreferenceActivity? – whynot

+1

Nếu bạn đặt điểm ngắt tại 'prefs = PreferenceManager.getDefaultSharedPreferences (this);' bạn có thể xem mBackupFile cho tên tệp xml. –

Các vấn đề liên quan