Android --- SharedPreferences的详细介绍
文章目錄
- 概念理解:
- getSharedPreferences 方法介紹
- 使用SharedPreferences保存key-value鍵值對的步驟如下:
- 栗子1
- 栗子2
概念理解:
SharedPreferences 是一個輕量級的存儲類,主要是保存一些小的數據,一些狀態信息.做軟件開發應該都知道,很多軟件會有配置文件,里面存放這程序運行當中的各個屬性值,由于其配置信息并不多,如果采用數據庫來存放并不劃算,因為數據庫連接跟操作等耗時大大影響了程序的效率,因此我們使用鍵值這種一一對應的關系來存放這些配置信息。SharedPreferences正是Android中用于實現這中存儲方式的技術。
SharedPreferences的使用非常簡單,能夠輕松的存放數據和讀取數據。SharedPreferences只能保存簡單類型的數據,例如,String、int等。一般會將復雜類型的數據轉換成Base64編碼,然后將轉換后的數據以字符串的形式保存在 XML文件中,再用SharedPreferences保存。
getSharedPreferences 方法介紹
其中兩個參數的意義為
public SharedPreferences getSharedPreferences(String name, int mode) {return mBase.getSharedPreferences(name, mode); }name為本組件的配置文件名( 自己定義,也就是一個文件名)
mode為操作模式,默認的模式為0或MODE_PRIVATE,還可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE
mode指定為MODE_PRIVATE,則該配置文件只能被自己的應用程序訪問。
mode指定為MODE_WORLD_READABLE,則該配置文件除了自己訪問外還可以被其它應該程序讀取。
mode指定為MODE_WORLD_WRITEABLE,則該配置文件除了自己訪問外還可以被其它應該程序讀取和寫入
使用SharedPreferences保存key-value鍵值對的步驟如下:
(1)使用SharedPreferences接口的Editor 獲得SharedPreferences.Editor 對象editor。
代碼實例如下:
(2)使用Activity類的getSharedPreferences方法獲得SharedPreferences對象,其中存儲key-value的文件的名稱由getSharedPreferences方法的第一個參數指定。
代碼實例如下:
(3)通過SharedPreferences.Editor接口的putXxx方法保存key-value 對。其中Xxx表示不同的數據類型。例如:字符串類型的value需要用 putString方法。
代碼實例如下:
(4)通過SharedPreferences.Editor接口的commit方法保存key-value 對。commit方法相當于數據庫事務中的提交(commit)操作。
如(3)所示,直接在內部提交了
栗子1
import android.content.Context; import android.content.SharedPreferences;public class Sputil {private SharedPreferences preferences;private SharedPreferences.Editor editor;public Sputil(Context context) {preferences = context.getSharedPreferences("com.xiaoqinglong.chong", context.MODE_PRIVATE);editor = preferences.edit();}/*** 向SP存入指定key對應的數據* 其中value可以是String、boolean、float、int、long等各種基本類型的值* @param key* @param value*/public void putString(String key, String value) {editor.putString(key, value);editor.commit();}public void putBoolean(String key, boolean value) {editor.putBoolean(key, value);editor.commit();}public void putFloat(String key, float value) {editor.putFloat(key, value);editor.commit();}public void putInt(String key, int value) {editor.putInt(key, value);editor.commit();}public void putLong(String key, long value) {editor.putLong(key, value);editor.commit();}/*** 清空SP里所以數據*/public void clear() {editor.clear();editor.commit();}/*** 刪除SP里指定key對應的數據項* @param key*/public void remove(String key) {editor.remove(key);editor.commit();}/*** 獲取SP數據里指定key對應的value。如果key不存在,則返回默認值defValue。* @param key* @param defValue* @return*/public String getString(String key, String defValue) {return preferences.getString(key, defValue);}public boolean getBoolean(String key, boolean defValue) {return preferences.getBoolean(key, defValue);}public float getFloat(String key, float defValue) {return preferences.getFloat(key, defValue);}public int getInt(String key, int defValue) {return preferences.getInt(key, defValue);}public long getLong(String key, long defValue) {return preferences.getLong(key, defValue);}/*** 判斷SP是否包含特定key的數據* @param key* @return*/public boolean contains(String key){return preferences.contains(key);} }栗子2
存放數據信息
(1)、打開Preferences,名稱為setting,如果存在則打開它,否則創建新的Preferences
SharedPreferences settings = getSharedPreferences(“setting”, 0);(2)、讓setting處于編輯狀態
SharedPreferences.Editor editor = settings.edit();(3)、存放數據
editor.putString(“name”,”ATAAW”); editor.putString(“URL”,”ATAAW.COM”);(4)、完成提交
editor.commit();讀取數據信息
(1)、獲取Preferences
SharedPreferences settings = getSharedPreferences(“setting”, 0);(2)、取出數據
String name = settings.getString(“name”,”默認值”); String url = setting.getString(“URL”,”default”);就介紹到這里了,有什么不理解的或者是小編有錯誤的地方,都可以在評論區留言,如果對你有益處的話記得收藏哦
總結
以上是生活随笔為你收集整理的Android --- SharedPreferences的详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第九届蓝桥杯java B组—第六题递增三
- 下一篇: Android --- 布局属性grav