import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Cập nhật
Theo Sở thích chung | Hướng dẫn dành cho nhà phát triển Android (Phần 13) của Sai Geetha MN,
Nhiều ứng dụng có thể cung cấp một cách để nắm bắt các tùy chọn của người dùng trên các cài đặt của một ứng dụng cụ thể hoặc một hoạt động. Để hỗ trợ điều này, Android cung cấp một bộ API đơn giản.
Tùy chọn thường là các cặp giá trị tên. Chúng có thể được lưu trữ dưới dạng Tùy chọn chia sẻ của nhóm Khác nhau trong các hoạt động khác nhau trong một ứng dụng (lưu ý hiện tại nó không thể được chia sẻ qua các quy trình). Hoặc nó có thể là một cái gì đó cần được lưu trữ cụ thể cho một hoạt động.
Tùy chọn chia sẻ: Tùy chọn chia sẻ có thể được sử dụng bởi tất cả các thành phần (hoạt động, dịch vụ, v.v.) của ứng dụng.
Các tùy chọn xử lý hoạt động: Các tùy chọn này chỉ có thể được sử dụng trong các hoạt động cụ thể và không thể được sử dụng bởi các thành phần khác của ứng dụng.
Tùy chọn được chia sẻ:
Các tùy chọn chia sẻ được quản lý với sự trợ giúp của getSharedPreferences
phương thức của Context
lớp. Các tùy chọn được lưu trữ trong một tệp mặc định (1) hoặc bạn có thể chỉ định tên tệp (2) sẽ được sử dụng để tham chiếu các tùy chọn.
(1) Cách được khuyến nghị là sử dụng chế độ mặc định, mà không chỉ định tên tệp
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Đây là cách bạn lấy ví dụ khi bạn chỉ định tên tệp
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
là chế độ hoạt động cho các sở thích. Đây là chế độ mặc định và có nghĩa là tệp đã tạo sẽ chỉ được truy cập bởi ứng dụng gọi điện. Hai chế độ khác được hỗ trợ là MODE_WORLD_READABLE
và MODE_WORLD_WRITEABLE
. Trong MODE_WORLD_READABLE
ứng dụng khác có thể đọc tệp đã tạo nhưng không thể sửa đổi nó. Trong trường hợp MODE_WORLD_WRITEABLE
các ứng dụng khác cũng có quyền ghi cho tệp được tạo.
Cuối cùng, khi bạn có phiên bản tùy chọn, đây là cách bạn có thể truy xuất các giá trị được lưu trữ từ các tùy chọn:
int storedPreference = preferences.getInt("storedInt", 0);
Để lưu trữ các giá trị trong SharedPreference.Editor
đối tượng tệp ưu tiên phải được sử dụng. Editor
là một giao diện lồng nhau trong SharedPreference
lớp.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Trình chỉnh sửa cũng hỗ trợ các phương thức như remove()
và clear()
xóa các giá trị ưu tiên khỏi tệp.
Tùy chọn hoạt động:
Các tùy chọn chia sẻ có thể được sử dụng bởi các thành phần ứng dụng khác. Nhưng nếu bạn không cần chia sẻ các tùy chọn với các thành phần khác và muốn có các tùy chọn riêng tư hoạt động, bạn có thể thực hiện điều đó với sự trợ giúp của getPreferences()
phương thức hoạt động. Các getPreference
phương pháp sử dụng các getSharedPreferences()
phương pháp với tên của lớp hoạt động cho tên tập tin thích.
Sau đây là mã để có được ưu tiên
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Mã để lưu trữ các giá trị cũng giống như trong trường hợp sở thích được chia sẻ.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Bạn cũng có thể sử dụng các phương pháp khác như lưu trữ trạng thái hoạt động trong cơ sở dữ liệu. Lưu ý Android cũng chứa một gói được gọi là android.preference
. Gói định nghĩa các lớp để thực hiện UI tùy chọn ứng dụng.
Để xem thêm một số ví dụ, hãy kiểm tra bài Lưu trữ dữ liệu của Android trên trang web của nhà phát triển.