Friday, February 3, 2012

Android SharedPreferences


Q: mỗi package có 1 defaultSharedPreferences?

A: Sai!
Cả 1 App chỉ có 1 defaultSharedPreferences.

Theo bài này:
http://stackoverflow.com/questions/5946135/difference-between-getdefaultsharedpreferences-and-getsharedpreferences

Thì mỗi ứng dụng có 1 defaultSharedPreferences với tên là tên của package ứng dụng + _preferences
(Chú ý: getPackageName() trả về tên của package của App - là package được khai báo trong file Manifest chứ không phải các package con)

public static SharedPreferences getDefaultSharedPreferences(Context context) {
    return context.getSharedPreferences( 
         getDefaultSharedPreferencesName(context),
        getDefaultSharedPreferencesMode());
}
private static String getDefaultSharedPreferencesName(Context context) {
    return context.getPackageName() + "_preferences";
}
private static int getDefaultSharedPreferencesMode() {
    return Context.MODE_PRIVATE;
}

No comments: