020android初級篇之android存儲數據方式:SharePreference的使用

SharePreference

輕量級的存儲類,其背后是用xml文件存放數據,文件存放在/data/data/<package name>/shared_prefs目錄下。

創(chuàng)建

String preferenceName=“ziliao”;
SharedPreferences sharedPreferences = getSharedPreferences(preferenceName, Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//獲取編輯器
editor.putString("name", "林計欽");
editor.putInt("age", 24);
editor.commit();//提交修改   

備注:

1. Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到原文件中??梢允褂肅ontext.MODE_APPEND
2. Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創(chuàng)建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件。
3. MODE_WORLD_READABLE:表示當前文件可以被其他應用讀??;
4. MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入。

訪問SharedPreferences

訪問本應用創(chuàng)建的SharedPreferences:

SharedPreferences sharedPreferences = getSharedPreferences(preferenceName, Context.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
//getString()第二個參數為缺省值,如果preference中不存在該key,將返回缺省值
int age = sharedPreferences.getInt("age", 1);

訪問其他應用創(chuàng)建的SharedPreferences:

前提是其他應用創(chuàng)建該SharedPreferences時,使用了MODE_WORLD_READABLE 或 MODE_WORLD_WRITEABLE 參數。

首先,先獲取創(chuàng)建應用的Context,

Context otherAppsContext = createPackageContext("com.ljq.action", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("ljq", Context.MODE_WORLD_READABLE);
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 0);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容