sharedpreferences是意爲“共享首選項”
它是被所有Activity共享的,不能在應用程序包之外共享首選項。首選項是以一組“鍵/值”的形式存儲。而它所支持的數據類型如下:
1. 布爾值
2. 浮點值
3. 整型值
4. 長整型值
5. 字符串值
它的使用方式如下:
1. 創建一個SharedPreferences對象的實例
2. 創建一個SharedPreferences.Editor來修改首選項內容
3. 提交修改
注意:如果想要支持特定的Activity,則需要指定獲取私有模式的首選項,這樣應用程序內的恰Activity是無法訪問的。
如下是不同的方法調用首選項:
1. 獲取Activity的私有首選項
preferences = getPreferences(MODE_PRIVATE);
代碼片段9.1.1 Activity私有首選項獲取
2. 獲取應用程序的首選項
sharedPreferences = getSharedPreferences("sharedPreferences", MODE_PRIVATE);
代碼片段9.1.2 應用程序首選項獲取
註釋:不管是私有首選項, 還是公用的首選項,都有文件存儲模式一說,即,通過這些模式,可以對創建的Preferences文件進行不同的作業
1. Context.MODE_PRIVATE(0)
爲默認模式,代表該文件爲私有數據,只能被應用本身訪問。在該模式下,如果寫入文件,則會覆蓋原有的文件內容。
2. Context.MODE_APPEND(32768)
追加模式,這個模式,它會檢查文件是否存在,如果存在,則在該文件中追加內容,而不是覆蓋。
3. Context.MODE_WORLD_READABLE(1)
表示當前文件可以被其他應用讀取。
4. Context.MODE_WORLD_WRITEABLE(2)
表示當前文件可以被其他應用寫入。
對於SharedPreferences,它包含了一些方法,通過這些方法,可以很容易的獲取到存儲的內容
方法 |
說明 |
SharedPreferences.contains() |
通過名稱查看該首選項是否存在 |
SharedPreferences.edit() |
獲取編輯器,主要用來存入信息 |
SharedPreferences.getAll() |
獲取所有鍵值對 |
SharedPreferences.getBoolean() |
獲取值爲Boolean的某個首選項 |
SharedPreferences.getFloat() |
獲取值爲Float的某個首選項 |
SharedPreferences.getInt() |
獲取值爲Int的某個首選項 |
SharedPreferences.getLong() |
獲取值爲Long的某個首選項 |
SharedPreferences.getString() |
獲取值爲String的某個首選項 |
表9.1.1 SharedPreferences方法
通過SharedPreferences.edit()方法,我們可以獲取編輯器,而編輯器的方法如下:
方法 |
說明 |
SharedPreferences.Editor.clear() |
移除所有首選項。注意:該操作首先進行,無論什麼修改,之後才能進行、提交 |
SharedPreferences.Editor.remove() |
通過名稱移除某個首選項。該操作的優先級如上 |
SharedPreferences.Editor.putBoolean() |
存入值爲Boolean的首選項 |
SharedPreferences.Editor.putFloat() |
存入值爲Float的首選項 |
SharedPreferences.Editor.putInt() |
存入值爲Int的首選項 |
SharedPreferences.Editor.putLong() |
存入值爲Long的首選項 |
SharedPreferences.Editor.putString() |
存入值爲String的首選項 |
SharedPreferences.Editor.commit() |
提交此次編輯會話的所有更改 |
表9.1.2 SharedPreferences.Editor的方法
如下是例子: