SharedPreferences详解
生活随笔
收集整理的這篇文章主要介紹了
SharedPreferences详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們?cè)陂_(kāi)發(fā)軟件的時(shí)候,常需要向用戶提供軟件參數(shù)設(shè)置功能,例如我們常用的微信,用戶可以設(shè)置是否允許陌生人添加自己為好友.對(duì)于軟件配置參數(shù)的保存,如果是在window下通常我們會(huì)采用ini文件進(jìn)行保存.如果是J2EE下面,我們會(huì)采用properties屬性文件或者xml進(jìn)行保存.在我們的Android應(yīng)用中又適合采用什么方式保存軟件配置參數(shù)呢?Android平臺(tái)給我們提供了一個(gè)SharedPreferences類,它是一個(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的兩種方式:1 調(diào)用Context對(duì)象的getSharedPreferences()方法 2 調(diào)用Activity對(duì)象的getPreferences()方法
兩種方式的區(qū)別: 調(diào)用Context對(duì)象的getSharedPreferences()方法獲得的SharedPreferences對(duì)象可以被同一應(yīng)用程序下的其他組件共享. 調(diào)用Activity對(duì)象的getPreferences()方法獲得的SharedPreferences對(duì)象只能在該Activity中使用. SharedPreferences的四種操作模式: Context.MODE_PRIVATE Context.MODE_APPEND Context.MODE_WORLD_READABLE Context.MODE_WORLD_WRITEABLE 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)建新文件. Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來(lái)控制其他應(yīng)用是否有權(quán)限讀寫(xiě)該文件. 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="22"; editor.putString("name", name); editor.putString("age", age); editor.commit(); 從SharedPreferences獲取數(shù)據(jù):
SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE); String name=preferences.getString("name", "defaultname"); String age=preferences.getString("age", "0");
總結(jié)
以上是生活随笔為你收集整理的SharedPreferences详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑系统越来越慢,怎么删除临时文件
- 下一篇: npm上传自己的项目