12/08/2018, 13:51

Android SharedPreference

Giới thiệu SharedPreference là một lớp cho phép lưu trữ và nhận dữ liệu theo key-value với các kiểu dữ liệu nguyên thuỷ như integer, string, boolean, float, long. Preference gần giống với Bundle nhưng nó có thể lưu trữ dữ liệu còn Bundle thì không. Lấy một SharedPreference Lấy một ...

Giới thiệu

  • SharedPreference là một lớp cho phép lưu trữ và nhận dữ liệu theo key-value với các kiểu dữ liệu nguyên thuỷ như integer, string, boolean, float, long.
  • Preference gần giống với Bundle nhưng nó có thể lưu trữ dữ liệu còn Bundle thì không.

Lấy một SharedPreference

  1. Lấy một SharedPreference mặc định trong ứng dụng bằng cách gọi hàm
SharedPreference sharedPreference = PreferenceManager.getDefaultSharedPreference(this);
  1. Tạo một SharedPreference
SharedPreference shared = getSharedPreference(“MySharedPreference”, MODE_PRIVATE);
  1. Lấy một SharedPreference mặc định của một Activity
SharedPreference shared = getPreferences(MODE_PRIVATE);

SharedPreferrence sẽ được lưu ở data/data/packageName/shared_prefs/filename_

Cập nhật SharedPreference

  • Để cập nhật SharedPreference, ta cần sử dụng Editor để thêm, sửa, xoá nội dung của preferrence.
  • Các hàm thêm/sửa và lấy ra nội dung tương ứng là
    1. putBoolean()/getBoolean()
    2. putInt()/getInt()
    3. putLong()/getLong()
    4. putFloat()/getFloat()
    5. putString()/getString()
  • Hàm xoá preferrence: remove(String key)
  • Sau khi gọi hàm này cần được gọi tiếp theo hàm commit() để xác nhận
  • clear(): xoá toàn bộ data trong SharedPreference
  • commit(): xác nhận edit

SharedPreference mode

  • MODE_PRIVATE: chỉ ứng dụng có thể truy nhập vào
  • MODE_WORLD_READABLE: các ứng dụng khác có thể đọc được nội dung nhưng không thể sửa hoặc thêm
  • MODE_WORLD_WRITABLE: Ứng dụng khác có thể đọc/ghi nội dung
  • MODE_MULTI_PROCESS: Nhiều process có thể cùng chỉnh sửa SharedPreference
0