SharedPreferences存储较上一篇文章文件存储更加简单实用,上一篇地址文件存储。简单做一下SharedPreferences的使用笔记。转载请注明出处http://blog.csdn.net/Zou_pl/article/details/75425990
使用SharedPreferences存储数据首先要获取到SharedPreferences对象,然后获取到到SharedPreference.Editor对象,使用editor的put方法,最后使用editor的commit方法提交,则保存数据。读取数据的时候,首先获取到SharedPreferences对象,然后调用SharedPreferences对象的get方法。
SharedPreferences使用的是键值对存储与读取的方法。
获取SharedPreferences的三种方法以及对应使用的例子
–
1.Context.getSharedPreferences()
2.Activity中getPreferences
3.PreferenceManager类中getDefaultSharedPreferences()
1.Context.getSharedPreferences()
private void contextFunc() {
/******写*******/
/** * Context下直接获取SharedPreferences对象,getSharedPreferences() * 1、第一个参数是文件名,第二个参数是模式类型,以getSharedPreferences("test",MODE_MULTI_PROCESS)为例 * 则保存的数据文件保存在/data/data/包名/shared_prefs/目录的test.xml文件夹中 * MODE_PRIVATE:只有当前应用程序才可以对此文件进行读写 * MODE_MULTI_PROCESS:多个进程都可以对此文件进行读写 * MODE_APPEND: * MODE_ENABLE_WRITE_AHEAD_LOGGING: * .... * 2.获取Editor对象 * 3、使用Editor对象以键值对的模式保存各种类型数据 * 4、Editor进行提交 * */
SharedPreferences SPf = getSharedPreferences("test",MODE_ENABLE_WRITE_AHEAD_LOGGING);
SharedPreferences.Editor editor = SPf.edit();
editor.putString("name","sim");
editor.putBoolean("female",false);
editor.putInt("age",15);
editor.putFloat("height",178.0f);
editor.commit();
/******读*******/
/** * 获取SharedPreferences对象 * 调用get方法 * */
SharedPreferences SPf2 = getSharedPreferences("test",MODE_ENABLE_WRITE_AHEAD_LOGGING);
String name = SPf2.getString("name","default value");
int age = SPf2.getInt("age",0);
boolean famale = SPf2.getBoolean("female",false);
}
2.Activity中getPreferences
private void activityFunc() {
/******写*******/
/** * 1、Activity中直接获取SharedPreferences对象,getPreferences(int mode) * 会使用当前Activity的类名作为SharedPreference的文件名,储存在/data/data/包名/shared_prefs/目录的activity.xml文件夹中 * 2、获取Editor对象 * 3、使用Editor对象以键值对的模式保存各种类型数据 * 4、Editor进行提交 * */
SharedPreferences SPf = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = SPf.edit();
editor.putString("name","sim");
editor.putBoolean("female",false);
editor.putInt("age",15);
editor.putFloat("height",178.0f);
editor.commit();
/******读*******/
/** * 获取SharedPreferences对象 * 调用get方法 * */
SharedPreferences SPf2 = getPreferences(MODE_PRIVATE);//或者getSharedPreferences(MainActivity.class.getSimpleName(),MODE_PRIVATE);(文件名,模式)
String name = SPf2.getString("name","default value");
int age = SPf2.getInt("age",0);
boolean famale = SPf2.getBoolean("female",false);
}
3.PreferenceManager类中getDefaultSharedPreferences()
private void defFunc() {
/******写*******/
/** * PreferenceManager类直接获取SharedPreferences对象,getDefaultSharedPreferences() * 1、使用当前应用程序的包名作为前缀来命名SharedPreference文件,储存在/data/data/包名/shared_prefs/目录 * 2.获取Editor对象 * 3、使用Editor对象以键值对的模式保存各种类型数据 * 4、Editor进行提交 * */
SharedPreferences SPf = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = SPf.edit();
editor.putString("name","sim");
editor.putBoolean("female",false);
editor.putInt("age",15);
editor.putFloat("height",178.0f);
editor.commit();
/******读*******/
/** * 获取SharedPreferences对象 * 调用get方法 * */
SharedPreferences SPf2 = PreferenceManager.getDefaultSharedPreferences(this);
String name = SPf2.getString("name","default value");
int age = SPf2.getInt("age",0);
boolean famale = SPf2.getBoolean("female",false);
}