Android本地存儲(chǔ)SharedPreferences詳解
Android本地存儲(chǔ)SharedPreferences詳解
存儲(chǔ)位置
SharedPreferences數(shù)據(jù)保存在: /data /data/<package_name> /shared_prefs 文件夾下,以XML格式保存,根元素為:<map />。文件名稱為獲取SharedPreferences實(shí)例時(shí)傳遞的參數(shù)值。
<map> <int name="key" value="value" /> <string name="key" > value </string> </map>
獲取實(shí)例
SharePerferences是一個(gè)接口,Context實(shí)現(xiàn)了API:getSharedPreferences(String, int);這個(gè)API依據(jù)String返回一個(gè)SharePerferences實(shí)例。同樣的String返回的SharePerferences的實(shí)例是同樣的。此處strign指定的是存儲(chǔ)數(shù)據(jù)的xml文件的名稱。
Activity實(shí)現(xiàn)了getPreferences(int),這種方法就是默認(rèn)使用Activity的class name作為String調(diào)用 getSharedPreferences(String, int)。
//指定該SharedPreferences數(shù)據(jù)僅僅能被本應(yīng)用讀、寫。 Context.MODE_PRIVATE //指定該SharedPreferences數(shù)據(jù)也能被其它應(yīng)用程序讀,但不能寫。 Context.MODE_WORLD_READABLE //指定該SharedPreferences數(shù)據(jù)也能被其它應(yīng)用程序讀、寫。 Context.MODE_WORLD_WRITEABLE //文件是否存在,存在那么追加,否則新建 Context.MODE_WORLD_APPEND
讀
//推斷SharedPreferences是否包括特定key的數(shù)據(jù)。 boolean contains(String key) //獲取SharedPreferences里所有的key-value對(duì)。 Map<String,?> getAll() //獲取指定key相應(yīng)的value,假設(shè)key不存在。則返回默認(rèn)值defValue。 Xxx getXxx(String key, Xxx defValue)
寫
SharedPreferences接口本身未提供寫入數(shù)據(jù)的能力,而是通過(guò)其內(nèi)部接口。其調(diào)用SharedPreferences.edit() 方法就可以獲得它所相應(yīng)的 SharedPreferences.Editor對(duì)象。Editor有例如以下向SharedPreferences寫入數(shù)據(jù)的方法: //清空SharedPreferences里全部數(shù)據(jù)。 Editor.clear() //向SharedPreferences里存入指定key相應(yīng)的數(shù)據(jù)。 Editor.putXxx(String key, Xxx Value) //刪除SharedPreferences里指定key相應(yīng)的數(shù)據(jù)項(xiàng)。 Editor.remove(String key) //當(dāng)Editor編輯完畢后,調(diào)用該方法提交改動(dòng)。 boolean Editor.commit()
讀寫其它應(yīng)用的SharedPreferences
1.創(chuàng)建其它應(yīng)用的相應(yīng) Context。
Context useContext =createPackageContext("package_name",Context.CONTEXT_IGNORE_SECURITY);
2.調(diào)用其它應(yīng)用的 Context的 getSharedPreferences()方法獲取 SharedPreferences對(duì)象。
3.調(diào)用其它應(yīng)用的 SharedPreferences.edit()方法獲得對(duì)應(yīng)SharedPreferences.Editor對(duì)象。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android編程實(shí)現(xiàn)popupwindow彈出后屏幕背景變成半透明效果
這篇文章主要介紹了Android編程實(shí)現(xiàn)popupwindow彈出后屏幕背景變成半透明效果,涉及Android設(shè)置getWindows透明度的方法,需要的朋友可以參考下2016-01-01
Android 8.0系統(tǒng)中應(yīng)用圖標(biāo)的適配技巧
今天小編就為大家分享一篇關(guān)于Android 8.0系統(tǒng)中應(yīng)用圖標(biāo)的適配技巧,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Android開(kāi)發(fā)之經(jīng)典游戲貪吃蛇
貪吃蛇是一款足夠經(jīng)典的游戲。它的經(jīng)典,在于用戶操作的簡(jiǎn)單,在于技術(shù)實(shí)現(xiàn)的簡(jiǎn)介,在于他的經(jīng)久不衰。下面來(lái)看下如何在Android開(kāi)發(fā)這款經(jīng)典游戲。2016-07-07
Android開(kāi)發(fā)TextView內(nèi)的文字實(shí)現(xiàn)自動(dòng)換行
這篇文章主要為大家介紹了Android開(kāi)發(fā)TextView內(nèi)的文字實(shí)現(xiàn)自動(dòng)換行,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Android基于Intent實(shí)現(xiàn)Activity之間數(shù)據(jù)傳遞的方法
這篇文章主要介紹了Android基于Intent實(shí)現(xiàn)Activity之間數(shù)據(jù)傳遞的方法,結(jié)合實(shí)例形式分析了Activity之間數(shù)據(jù)傳遞操作的相關(guān)技巧,代碼備有較為詳盡的注釋,需要的朋友可以參考下2016-11-11
Android文本框搜索和清空效果實(shí)現(xiàn)代碼及簡(jiǎn)要概述
在工作過(guò)程中可能會(huì)遇到這樣一個(gè)效果:文本框輸入為空時(shí)顯示輸入的圖標(biāo);不為空時(shí)顯示清空的圖標(biāo),此時(shí)點(diǎn)擊清空?qǐng)D標(biāo)能清空文本框內(nèi)輸入文字,感興趣的你可以了解下哦,或許對(duì)你學(xué)習(xí)android有所幫助2013-02-02
Android自定義view Path 的高級(jí)用法之搜索按鈕動(dòng)畫
這篇文章主要介紹了Android自定義view Path 的高級(jí)用法之搜索按鈕動(dòng)畫,需要的朋友可以參考下2017-06-06

