Android本機存放區方案 SharedPreferences
原文地址
儲存位置
SharedPreferences資料儲存在: /data /data/ /shared_prefs 目錄下,以XML格式儲存,根項目為:。檔案名稱為擷取SharedPreferences執行個體時傳遞的參數值。
value
擷取執行個體
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 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對象。