iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 20
0
自我挑戰組

Android初學筆記系列 第 20

Day 20 - 使用SharedPreference儲存資料

SharedPreference是Android中的儲存資料機制,使用者離開APP後資料都還會留著,下次開啟APP時直接續用,常見的用途像是儲存偏好設定值、登入的帳密。

SharedPreference用Key-Value的方式儲存,可以存字串整數布林等不同型態的資料,使用起來也只要一兩行程式,讓我相當擔心今天的篇幅過短,但這麼常用的機制還是越短越好啦。

建立資料

透過PreferenceManager取得SharePreference後,直接設置Key和預設Value

// 取得SharedPreference
SharedPreferences getPrefs = PreferenceManager
				.getDefaultSharedPreferences(getBaseContext());
// 建立一個Key名稱為version的資料,預設值為0
getPrefs.getInt("version", 0);

讀取資料

跟建立的方式一樣,前面宣告一個變數去接就可以了

// 取得SharedPreference
SharedPreferences getPrefs = PreferenceManager
				.getDefaultSharedPreferences(getBaseContext());
// 取得Key名稱為version的資料
int mVersion = getPrefs.getInt("version", 0);

若您未曾編輯過此資料,則會讀取到預設值0,若已經編輯成別的數字了,即便這裡一樣寫預設值0也會讀到新的數字,不用擔心會被蓋掉。

編輯資料

用SharedPreference的Editor來編輯,記得編完要apply()才會生效哦

// 取得SharedPreference
SharedPreferences getPrefs = PreferenceManager
				.getDefaultSharedPreferences(getBaseContext());
// 取得Editor
SharedPreferences.Editor editor = getPrefs.edit();
// 將version的值設為1
editor.putInt("version", 1);
// 套用變更,一定要apply才會生效哦
editor.apply();

刪除資料

用Editor中的remove方式,參數輸入要刪除的Key值

// 取得SharedPreference
SharedPreferences getPrefs = PreferenceManager
				.getDefaultSharedPreferences(getBaseContext());
// 取得Editor
SharedPreferences.Editor editor = getPrefs.edit();
// 移除version
editor.remove("version");
// 套用變更
editor.apply();

沒..沒了../images/emoticon/emoticon16.gif

SharedPreference使用起來真的很簡便,如開頭所說很適合儲存偏好設定和登入資訊。但當資料量大或有關連性時就會比較不敷使用,這時選擇Android另一個資料儲存機制「SQLite資料庫」會更適合,也是我們明天要寫的主題哦


上一篇
Day 19 - ButterKnife簡化程式碼
下一篇
Day 21 - SQLite資料庫 & 測試工具Stetho
系列文
Android初學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言