android开发之-软件设置保存-快速学会使用SharedPreferences篇-实测
? ? ? ? ? ? ? ? ? ? ? ? 效果圖
userInfo.xml便是我們設(shè)置的保存的文件。文件名稱可以自己指定。 那么怎么實(shí)現(xiàn)呢?下面我們一步一步來說: 第一步:創(chuàng)建SharedPreferences: android為我們提供了或的方法,這個(gè)方法在有文件時(shí),返回SharedPreferences對象,沒有是在創(chuàng)建editor 后執(zhí)行Editor.commit()是創(chuàng)建。解釋:getSharedPreferences第一個(gè)參數(shù)userInfo為文件名稱,得到的就是userInfo.xml,可以自己起名。
第二個(gè)參數(shù)Activity.MODE_PRIVATE,是Activity創(chuàng)建文件時(shí)的權(quán)限,這里是私有的 權(quán)限大全:Context.MODE_PRIVATE = 0x0000
Context.MODE_WORLD_READABLE = 0x0001
Context.MODE_WORLD_WRITEABLE = 0x0002
Context.MODE_APPEND = 0x8000
Context.MODE_PRIVATE:為默認(rèn)操作模式,代表該文件是私有數(shù)據(jù),只能被應(yīng)用本身訪問,在該模式下,寫入的內(nèi)容會覆蓋原文件的內(nèi)容,如果想把新寫入的內(nèi)容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應(yīng)用是否有權(quán)限讀寫該文件。
Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內(nèi)容,否則就創(chuàng)建新文件。
MODE_WORLD_READABLE:表示當(dāng)前文件可以被其他應(yīng)用讀取;MODE_WORLD_WRITEABLE:表示當(dāng)前文件可以被其他應(yīng)用寫入。
如果希望文件被其他應(yīng)用讀和寫,可以傳入:
openFileOutput("leigo.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
?
第二步:初始化添加數(shù)據(jù):
代碼2:
//獲得編輯器信息,這個(gè)編輯器想一個(gè)map,它是以key-values形式存在的。SharedPreferences.Editor edit=preferences.edit(); //將值添加到編輯器中edit.putBoolean("isSendMsg", isSendMsg.isChecked());edit.putBoolean("isCall", isCall.isChecked());edit.commit();//注意在沒有preferences的時(shí)候這里進(jìn)行創(chuàng)建。
添加完之后,我們打開文件可以看到存儲的值。文件存儲在data/data/package/shared_prefs下面, 如果你還不知道怎么查看本地手機(jī)文件請看這個(gè)android開發(fā)之-查看、編輯手機(jī)sqlite數(shù)據(jù)庫文件-實(shí)測。
第三步:獲得SharedPreferences?中的值,顯示在手機(jī)中。
SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME,Activity.MODE_PRIVATE);//獲得兩個(gè)控件,用以展示。isSendMsg = (Switch) findViewById(R.id.isSendMessage);isCall = (Switch) findViewById(R.id.isCall);//將 preferences.getBoolean("isSendMsg", true)信息取出來,賦值給控件,getBoolean的第二個(gè)參數(shù)是,如果preferences中沒有這個(gè)值默認(rèn)的設(shè)置的值。isSendMsg.setChecked(preferences.getBoolean("isSendMsg", true));isCall.setChecked(preferences.getBoolean("isCall", false));好了,至此我們就學(xué)習(xí)完了怎么使用SharedPreferences了,另外應(yīng)該注意在退出程序的時(shí)候記得保存信息,一般在onStop()方法中使用 @Overrideprotected void onStop() {super.onStop();//停止的時(shí)候自動保存信息SharedPreferences preferences=getSharedPreferences(PREFERENCES_NAME,Activity.MODE_PRIVATE);SharedPreferences.Editor edit=preferences.edit();edit.putBoolean("isSendMsg", isSendMsg.isChecked());edit.putBoolean("isCall", isCall.isChecked());edit.commit();}
作為一個(gè)android初學(xué)者,第一次開博,錯(cuò)誤之處難免,請大家多多包含,指教。
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/dava/p/3684586.html
總結(jié)
以上是生活随笔為你收集整理的android开发之-软件设置保存-快速学会使用SharedPreferences篇-实测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 组队开发第二周第一次会议
- 下一篇: stm32f4 RAM中运行程序 读保护