您好,登錄后才能下訂單哦!
Android本地存儲SharedPreferences詳解
存儲位置
SharedPreferences數據保存在: /data /data/<package_name> /shared_prefs 文件夾下,以XML格式保存,根元素為:<map />。文件名稱為獲取SharedPreferences實例時傳遞的參數值。
<map> <int name="key" value="value" /> <string name="key" > value </string> </map>
獲取實例
SharePerferences是一個接口,Context實現了API:getSharedPreferences(String, int);這個API依據String返回一個SharePerferences實例。同樣的String返回的SharePerferences的實例是同樣的。此處strign指定的是存儲數據的xml文件的名稱。
Activity實現了getPreferences(int),這種方法就是默認使用Activity的class name作為String調用 getSharedPreferences(String, int)。
//指定該SharedPreferences數據僅僅能被本應用讀、寫。 Context.MODE_PRIVATE //指定該SharedPreferences數據也能被其它應用程序讀,但不能寫。 Context.MODE_WORLD_READABLE //指定該SharedPreferences數據也能被其它應用程序讀、寫。 Context.MODE_WORLD_WRITEABLE //文件是否存在,存在那么追加,否則新建 Context.MODE_WORLD_APPEND
讀
//推斷SharedPreferences是否包括特定key的數據。 boolean contains(String key) //獲取SharedPreferences里所有的key-value對。 Map<String,?> getAll() //獲取指定key相應的value,假設key不存在。則返回默認值defValue。 Xxx getXxx(String key, Xxx defValue)
寫
SharedPreferences接口本身未提供寫入數據的能力,而是通過其內部接口。其調用SharedPreferences.edit() 方法就可以獲得它所相應的 SharedPreferences.Editor對象。Editor有例如以下向SharedPreferences寫入數據的方法: //清空SharedPreferences里全部數據。 Editor.clear() //向SharedPreferences里存入指定key相應的數據。 Editor.putXxx(String key, Xxx Value) //刪除SharedPreferences里指定key相應的數據項。 Editor.remove(String key) //當Editor編輯完畢后,調用該方法提交改動。 boolean Editor.commit()
讀寫其它應用的SharedPreferences
1.創建其它應用的相應 Context。
Context useContext =createPackageContext("package_name",Context.CONTEXT_IGNORE_SECURITY);
2.調用其它應用的 Context的 getSharedPreferences()方法獲取 SharedPreferences對象。
3.調用其它應用的 SharedPreferences.edit()方法獲得對應SharedPreferences.Editor對象。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。