SharedPreferences
SharedPreferences類(lèi)是一個(gè)輕量級(jí)應(yīng)用程序內(nèi)部輕量級(jí)的存儲(chǔ)方案,特別適合用于保存軟件配置參數(shù),比如boolean,int,float,long,String等數(shù)據(jù),使用SharedPreferences保存數(shù)據(jù),其實(shí)質(zhì)是采用了xml文件存放數(shù)據(jù),路徑為:
/data/data/<package name>/shared_prefs
絮重。
-
獲取SharedPreferences的兩種方式:
- 調(diào)用Context對(duì)象的
getSharedPreferences()
方法 - 調(diào)用Activity對(duì)象的
getPreferences()
方法
兩種方式的區(qū)別:
調(diào)用Context對(duì)象的getSharedPreferences()
方法獲得的SharedPreferences對(duì)象可以被同一應(yīng)用程序下的其他組件共享冤寿。
調(diào)用Activity對(duì)象的getPreferences()
方法獲得的SharedPreferences對(duì)象只能在該Activity中使用。 - 調(diào)用Context對(duì)象的
-
**SharedPreferences的四種操作模式: **
-
Context.MODE_PRIVATE
:為默認(rèn)操作模式,代表該文件是私有數(shù)據(jù),只能被應(yīng)用本身訪問(wèn),在該模式下,寫(xiě)入的內(nèi)容會(huì)覆蓋原文件的內(nèi)容 -
Context.MODE_APPEND
:模式會(huì)檢查文件是否存在,存在就往文件追加內(nèi)容,否則就創(chuàng)建新文件. -
MODE_WORLD_READABLE
:表示當(dāng)前文件可以被其他應(yīng)用讀取. -
MODE_WORLD_WRITEABLE
:表示當(dāng)前文件可以被其他應(yīng)用寫(xiě)入.
-
將數(shù)據(jù)保存至SharedPreferences:
SharedPreferences preferences = getSharedPreferences("user",Context.MODE_PRIVATE);
Editor editor = preferences.edit();
String name = "xixi";
String age = "18";
editor.putString("name", name);
editor.putString("age", age);
editor.apply();
- 從SharedPreferences獲取數(shù)據(jù):
SharedPreferences preferences = getSharedPreferences("user", Context.MODE_PRIVATE);
String name = preferences.getString("name", "defaultname");
String age = preferences.getString("age", "0");
文件管理
1.獲取External存儲(chǔ)的權(quán)限:
android.permission.WRITE_EXTERNAL_STORAGE
2.指定app安裝的位置:android:installLocation=" "
3.檢查外部環(huán)境:String state = Environment.getExternalStorageState();