SharedPreferences以键值对key-value型式存储一些轻量级的数据。
获取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:当前文件可以被其他应用写入。用来控制其他应用是否有权限读写该文件。
使用SharedPreferences保存数据:
第一步:
//实例化SharedPreferences对象
SharedPreferences sharedPreferences=getSharedPrefereneces("test",Activity.MODE_PRIVATE);
第二步:
//实例化SharedPreferences.Editor对象
SharedPreferences.Editor editor=sharedPreferences.edit();
第三步:
//putString方法保存
editor.putString("key","value");
第四步:
//提交数据
editor.commit();
SharedPreferences会把这些数据保存在test.xml文件中,可以在File Explorer的data/data/相应的包名/test.xml 下导出该文件。
使用SharedPreferences读取数据:
第一步:
//实例化SharedPreferences对象
SharedPreferences sharedPreferences=getSharedPreferences("test",Activity.MODE_PRIVATE);
第二步:
//使用getString方法获得value
String string=sharedPreferences.getString("key","");
删除某项:sharedPreferences.remove(key);
是否已经存在某项:sharedPreferences.contains(key);