数据的持久化技术(二)SharedPreferences

来源:互联网 发布:2016世界各国经济数据 编辑:程序博客网 时间:2024/06/14 19:51

SharedPreferences是使用键值对的方式来存储数据的,当保存一条数据的时候,提供一个对应的键,当要取数据的时候就通过键来把对应的值取出来。SharedPreferences支持多种数据类型存储,数据以什么类型存储,取得还是什么类型,比如,存的是字符串类型的,那么读出来的还是字符串类型的。

存储

使用SharedPreferences来存储数据,需要先获取SharedPreferences对象,Android提供了三种获取对象的方式:

  1. Content类的getSharedPreferences()方法,这个方法接收两个参数。第一个是参数文件名,文件之默认存放在/data/data/<packagename>/shared_prefs/目录下的;第二个参数是文件的操作模式,MODE_PRIVATE覆盖,MODE_APPEND追加 两种。
  2. Activity类中的getPreferences(),这个方法值接收一个参数,就是文件的操作模式,MODE_PRIVATE和MODE_APPEND。文件名是自动使用当前活动的类名。例:MainActivity.xml
  3. PreferenceManager类中的getDefaultSharedPreferences(),这个方法是一个静态类,只接收一个Content参数,文件名是使用当前包名为前缀来命名。例:com.example.sharedpreferencestest_preferences.xml

得到SharedPreferences对象后,就可以开始存储数据了,主要有三步:

  1. 通过SharedPreferences对象的edit()方法来获取SharedPreferences.Editor对象。
  2. 向SharedPreferences.Editor对象中添加数据。例如:putString(),putInt().
  3. 调用commit()方法提交完成数据的存储
//获取SharedPreferences.Editor对象SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();//使用SharedPreferences.Editor对象添加数据editor.putString("name", "Rancvl");editor.putInt("age", 20);editor.putBoolean("married", false);//调用commit()方法将添加的数据提交,完成存储操作editor.commit();

读取数据

从SharedPreferences文件中读取数据就更简单了,首先获取到getSharedPreferences()对象,然后调用get方法,如果是获取String类型的,就用getString()方法,布尔型的就用getBoolean()方法。get方法接收两个参数,一个是键,一个是默认的值,即如果找不到键相对应的值,会以什么样的默认值返回。

SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);String name = pref.getString("name", "");int age = pref.getInt("age", 0);Boolean married = pref.getBoolean("married", false);
0 0
原创粉丝点击