SharedPreferences詳解

我們在開發軟件的時候,常需要向用戶提供軟件參數設置功能,例如我們常用的微信,用戶可以設置是否允許陌生人添加自己爲好友.對於軟件配置參數的保存,如果是在window下通常我們會採用ini文件進行保存.如果是J2EE下面,我們會採用properties屬性文件或者xml進行保存.在我們的Android應用中又適合採用什麼方式保存軟件配置參數呢?Android平臺給我們提供了一個SharedPreferences類,它是一個輕量級應用程序內部輕量級的存儲方案,特別適合用於保存軟件配置參數,比如boolean,int,float,long,String等數據.使用SharedPreferences保存數據,其實質是採用了xml文件存放數據,路徑爲:/data/data/<package name>/shared_prefs.

獲取SharedPreferences的兩種方式:

1 調用Context對象的getSharedPreferences()方法

2 調用Activity對象的getPreferences()方法

兩種方式的區別:

調用Context對象的getSharedPreferences()方法獲得的SharedPreferences對象可以被同一應用程序下的其他組件共享.

調用Activity對象的getPreferences()方法獲得的SharedPreferences對象只能在該Activity中使用.

SharedPreferences的四種操作模式:

Context.MODE_PRIVATE

Context.MODE_APPEND

Context.MODE_WORLD_READABLE

Context.MODE_WORLD_WRITEABLE

Context.MODE_PRIVATE:爲默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容

Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件.

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件.

MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取.

MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入.

將數據保存至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獲取數據:

SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);

String name=preferences.getString("name", "defaultname");

String age=preferences.getString("age", "0");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章