簡(jiǎn)介
SharedPrefrences是使用鍵值對(duì)的方式存儲(chǔ)數(shù)據(jù)镊辕,當(dāng)保存一條數(shù)據(jù)的時(shí)候老厌,需要給這條數(shù)據(jù)提供一個(gè)對(duì)應(yīng)的鍵省咨,這樣在讀取數(shù)據(jù)的時(shí)候可以通過(guò)這個(gè)鍵把相應(yīng)的值讀取出來(lái)逼肯。
存儲(chǔ)與讀取方式
將數(shù)據(jù)存儲(chǔ)到SharedPreferences中
三種得到SharedPreferences的方法
1. Context類(lèi)中的getSharedPreferences()方法
Context.getSharedPreferences("指定SharedPreferences文件的名稱(chēng)",MODE_PRIVATE);
- 若文件不存在耸黑,則會(huì)創(chuàng)建一個(gè),默認(rèn)路徑是/data/data/<package name>/shared_prefs/;
- MODE_PRIVATE表示只有當(dāng)前程序才可以讀寫(xiě)這個(gè)getSharedPreferences.
2. Activity類(lèi)中的getPreferences()方法
Activity.getPreferences(MODE_PRIVATE);
同上篮幢,默認(rèn)文件名為當(dāng)前活動(dòng)的類(lèi)名大刊。
3. PreferenceManager類(lèi)中的getDefaultSharedPreferences()方法
//調(diào)用getSharedPreferences().edit();獲取一個(gè)SharedPreferences.Editor對(duì)象
SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
//向SharedPreferences.Editor添加數(shù)據(jù)
editor.putString("name","Tom");
editor.putInt("age",28);
editor.putBoolean("married",false);
//提交,完成數(shù)據(jù)存儲(chǔ)工作
editor.apply();
從SharedPreferences中讀取數(shù)據(jù)
//通過(guò)getSharedPreferences()獲取SharedPreferences對(duì)象
SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
//通過(guò)鍵值得到數(shù)據(jù)
String name = pref.getString("name","");
int age = pref.getInt("age",0);
boolean married = prefs.getBoolean("married",false);