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", "");
相关文章
相关标签/搜索