Friday, March 2, 2012

[Android] Preferences

Preferences là 1 cách để lưu trữ các tùy chọn của người dùng trong chương trình, quyết định trạng thái của chươgn trình. Nó được chứa trong 1 file xml , mỗi chương trình đều có 1 file preferences mặc định với tên : tên_của_package_preferences


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


Thay vì phải truyền các extra qua intent để gửi các thông tin sang activity khác, bạn có thể lưu vào preferences rồi lấy ra lúc cần thiết, việc lưu vào preferences được thực hiện 1 cách "tức thì" nên bạn sẽ không bao giờ phải lo rằng lúc gọi để lấy thông tin từ preference ra thì nó chưa kịp lưu giá trị được gửi vào trước đó :D

Tốt nhất là nên dùng preferences mặc định (tránh những lỗi có thể xảy - gõ sai tên file chẳng hạn ) và tạo 1 class theo singleton pattern với các method set - get các giá trị cần lưu trữ để dễ dàng truy cập lúc cần.

...

No comments: