Shared Preferences
là các tệp XML để lưu trữ dữ liệu nguyên thủy riêng tư trong các cặp khóa-giá trị. Các kiểu dữ liệu bao gồm Booleans , float , ints , longs và chuỗi .
Khi chúng tôi muốn lưu một số dữ liệu có thể truy cập trong toàn bộ ứng dụng, một cách cần làm là lưu dữ liệu đó vào biến toàn cục. Nhưng nó sẽ biến mất sau khi ứng dụng được đóng lại. Một cách khác và được đề nghị là tiết kiệm trong SharedPreference
. Dữ liệu được lưu trong tệp SharedPreferences có thể truy cập trong toàn bộ ứng dụng và vẫn tồn tại ngay cả sau khi ứng dụng đóng hoặc trên các lần khởi động lại.
SharedPreferences lưu dữ liệu theo cặp khóa-giá trị và có thể được truy cập theo cùng một cách.
Bạn có thể tạo Đối tượng SharedPreferences
sử dụng hai phương thức,
1). getSharedPreferences () : Sử dụng các phương thức này, bạn có thể tạo Nhiều SharedPreferences. và các tham số đầu tiên của nó trong tên của SharedPreferences
.
2). getPreferences () : Sử dụng phương thức này, bạn có thể tạo Đơn SharedPreferences
.
Lưu trữ dữ liệu
Thêm một khai báo biến / Tạo tệp ưu tiên
public static final String PREFERENCES_FILE_NAME = "MyAppPreferences";
Lấy một tay cầm để đặt tên tệp (sử dụng getSharedPreferences)
SharedPreferences settingsfile= getSharedPreferences(PREFERENCES_FILE_NAME,0);
Mở Trình soạn thảo và Thêm cặp khóa-giá trị
SharedPreferences.Editor myeditor = settingsfile.edit();
myeditor.putBoolean("IITAMIYO", true);
myeditor.putFloat("VOLUME", 0.7)
myeditor.putInt("BORDER", 2)
myeditor.putLong("SIZE", 12345678910L)
myeditor.putString("Name", "Amiyo")
myeditor.apply();
Đừng quên áp dụng / lưu bằng cách sử dụng myeditor.apply()
như hình trên.
Lấy dữ liệu
SharedPreferences mysettings= getSharedPreferences(PREFERENCES_FILE_NAME, 0);
IITAMIYO = mysettings.getBoolean("IITAMIYO", false);
//returns value for the given key.
//second parameter gives the default value if no user preference found
// (set to false in above case)
VOLUME = mysettings.getFloat("VOLUME", 0.5)
//0.5 being the default value if no volume preferences found
// and similarly there are get methods for other data types