Tìm hiểu Shared Preferences trong Android

Shared Preferences là gì? Shared Preferences trong Android cho phép bạn lưu trữ và truy xuất dữ liệu dưới dạng key – value. Vậy trong ứng dụng Android ngoài cách sử dụng thư viện SQLite hoặc Realm để lưu trữ dữ liệu thì hôm nay mình muốn chia sẻ cho các bạn về tìm hiểu Shared Preferences trong Android.

1. Shared Preferences là gì?

– Trong ứng dụng Android có rất nhiều cách để thực hiện lưu trữ và truy xuất dữ liệu, thông thường chắc bạn đã từng sử dụng SQLite hoặc Realm để lưu trữ dữ liệu, vậy bạn có biết sử dụng Shared Preferences cũng có thể làm được điều tương tự.

– Shared Preferences trong Android cho phép bạn lưu trữ và truy xuất dữ liệu dưới dạng key - value.

– Shared Preferences hỗ trợ một số kiểu dữ liệu nhất định như string, int, boolean, float, long.

– Dữ liệu được lưu trữ trong Shared Preferences có thể bị mất đi trong một vài trường hợp như khi bạn gỡ cài đặt ứng dụng, xóa dữ liệu ứng dụng (thông qua cài đặt).

2. Nên sử dụng Shared Preferences khi nào?

– Shared Preferences được dùng để lưu trữ và truy xuất dữ liệu trong ứng dụng Android, nhưng bạn chỉ nên sử dụng Shared Preferences để lưu trữ các dữ liệu nhỏ, dữ liệu không quá phức tạp. Shared Preferences chỉ hỗ trợ lưu trữ dạng key - value nên nếu áp dụng để truy vấn dữ liệu liên kết giữa các bảng xem như nhiệm vụ bất khả thi.

– Nếu như ứng dụng của bạn cần lưu các thông tin dạng cấu hình ứng dụng, cài đặt… thì nên sử dụng Shared Preferences thay vì SQLite, Realm… bởi Shared Preferences đơn giản và nhanh hơn nhiều.

Xem thêm: tổng hợp những thư viện hữu ích trong lập trình Android để giúp xây dựng ứng dụng nhanh và hiệu quả hơn.

3. Sử dụng Shared Preferences như thế nào?

– Để có thể sử dụng Shared Preferences thì bạn cần gọi phương thức getSharedPreferences(String name, int mode), bạn có thể gọi Shared Preferences từ bất kỳ Context nào trong ứng dụng của bạn.

– Thuộc tính “name” là tên tập tin Shared Preferences.

– Thuộc tính “mode” là chế độ lưu trữ Shared Preferences.

– Bảng sau đây mô tả một số chế độ MODE được sử dụng trong Shared Preference:

Thuộc tínhMô tả
MODE_PRIVATEĐây là chế độ lưu trữ riêng tư không cho phép các ứng dụng khác có thể truy cập vào tập tin Shared Preference trong ứng dụng.
MODE_WORLD_READABLEĐây là chế độ lưu trữ cho phép các ứng dụng khác chỉ có thể đọc dữ liệu từ tập tin Shared Preference trong ứng dụng của bạn nhưng không được phép ghi dữ liệu.
MODE_WORLD_WRITEABLEĐây là chế độ lưu trữ cho phép các ứng dụng khác có thể ghi dữ liệu vào trong tập tin Shared Preference trong ứng dụng của bạn.

– Sử dụng ghi dữ liệu trong Shared Preferences:

Để ghi vào một tập tin Shared Preferences trong Android bạn hãy tạo đối tượng SharedPreferences.Editor bằng cách gọi edit() trên SharedPreferences của bạn.

Một số thuộc tính trong Shared Preferences:

Thuộc tínhMô tả
apply()Nó cập nhật dữ liệu mà không cần trả về kết quả thực thi lệnh thành công hay thất bại.
commit()Nó cập nhật dữ liệu và trả về kết quả là true nếu thực thi lệnh thành công và trả về false nếu thất bại.
clear()Xóa toàn bộ dữ liệu trong Shared Preference.
remove(String key)Xóa dữ liệu trong Shared Preference dựa vào “key” tương ứng.
putString(String key, String value)Lưu trữ dữ liệu kiểu String theo “key – value”
putLong(String key, long value)Lưu trữ dữ liệu kiểu long theo “key – value”
putInt(String key, int value)Lưu trữ dữ liệu kiểu int theo “key – value”
putFloat(String key, float value)Lưu trữ dữ liệu kiểu float theo “key – value”
putBoolean(String key, float value)Lưu trữ dữ liệu kiểu boolean theo “key – value”

– Đối với phương thức commit() sẽ lưu trữ dữ liệu đồng bộ (synchronously), đối với apply() là không đồng bộ (asynchronously).

– Nếu như bạn sử dụng phương thức apply() sẽ thực thi lệnh nhanh hơn so với phương thức commit().

– Sử dụng đọc dữ liệu trong Shared Preferences:

Để lấy các giá trị từ một tập tin Shared Preferences bạn đã lưu trữ trước đó thì chỉ cần gọi phương thức dạng:

Nếu dữ liệu trả về trong “key_name” không lấy được thì nó sẽ tự trả về dữ liệu trong “value_default”.

Nội dung chính của bài viết này là tìm hiểu Shared Preferences trong Android, giúp bạn hiểu Shared Preferences là gì, nên sử dụng trong trường hợp nào, và làm thế nào để lưu trữ và truy xuất dữ liệu. Nếu muốn tìm hiểu kỹ hơn bạn có thể xem qua bài viết ví dụ sử dụng Shared Preferences trong Android để có thể áp dụng vào ứng dụng của mình.

Lời kết: Như vậy trong Android có nhiều cách để thực hiện lưu trữ và truy xuất dữ liệu như sử dụng SQLite, Realm và có thể là Shared Preferences, mỗi loại đều có ưu và nhược điểm riêng nên tùy vào mục đích sử dụng mà bạn chọn ra thư viện phù hợp. Ngoài ra bạn có thể xem thêm nhiều bài viết khác trong chủ đề lập trình Android tại Tutorials To Learn.

(Tác giả: Tutorials To Learn)

2 thoughts on “Tìm hiểu Shared Preferences trong Android

Bình luận