SharedPreferences 與Editor

SharedPreferences保存的數據主要是相似於配置信息格式的數據,所以它保存的數據主要是簡單類型的key - value對。android

SharedPreferences接口主要負責讀取應用程序的Preferences數據,它提供以下經常使用方法來訪問SharedPreferences中的key - value對。安全

  一、boolean contains(String key):判讀SharedPreferences 是否包含特定key的數據。spa

  二、abstract Map<String  ,?>getAll():獲取SharedPreferences數據裏所有的key - value 對。code

  三、boolean getXxx(String ,xxx value):獲取SharedPreferences數據裏指定key對應的value。若是該key不存在,則返回默認值value。其中xxx能夠是boolean、float、int、long、String等各類基本類型的值。對象

 

SharedPreferences接口自己沒有提供寫入數據的能力,二十經過SharedPreferences的內部接口,SharedPreferences調用edit()方法便可獲取它所對應的Editor對象。Editor提供以下方法來向SharedPreferences寫入數據。blog

  一、SharedPreferences.Editor.clear():清空SharedPreferences裏全部數據。接口

  二、SharedPreferences.Editor.putXxx(String key ,xxx value):向SharedPreferences存入指定key對應的數據。其中xxx能夠是boolean、float、int、long、String等各類基本類型的值。rem

  三、SharedPreferences.Editor.remove(String key):刪除SharedPreferences裏指定key對應的數據項。get

  四、boolean commit():當Editor編輯完成後,調用該方法提供修改it

 

SharedPreferences自己是一個接口,程序沒法直接建立SharedPreferences實例,只能經過Context提供的getSharedPreferences(String name,int mode)方法來獲取SharedPreferences實例,該方法的第二個參數支持以下幾個值。

  一、Context.MODE_PRIVETE:指定該SharedPreferences數據只能被本應用程序讀寫。

  二、Context.MODE_WORLD_READABLE:指定該SharedPreferences數據能被其餘應用程序讀,但不能寫。

  三、Context.MODE_WORLD_WRITEABLE:指定該SharedPreferences數據能被其餘應用程序讀寫。

注意:Android 4.2開始,後兩種模式因爲容易致使安全漏洞,不能使用。

-------------------------------以上內容來自瘋狂android講義------------------------------------

實戰演示:

SharedPreferences rememberUser = getSharedPreferences("login", MODE_PRIVATE);//獲取模式
SharedPreferences.Editor edit = rememberUser.edit();
edit.putString("name", username);
edit.putString("pass", password);
edit.putBoolean("is_remember_password", true);
edit.commit();

//讀
SharedPreferences sharedPreferences = getSharedPreferences("login", MODE_PRIVATE); String name_str = sharedPreferences.getString("name", ""); String pass_str = sharedPreferences.getString("pass", "");
相關文章
相關標籤/搜索