SharedPreferences是通过键值对的方式来存储数据的。要想使用SharedPreferences来存储或者读取数据,首先要获得SharedPreferences对象。Android主要提供了3种方法用于得到SharedPreferences对象:
1.Context类中的getSharedPreferences()方法
此方法接受两个参数,第一个是指定SharedPreferences的文件名称,第二个参数是操作模式,目前只有MODE_PRIVATE这一种模式可选,表示只有当前文件可以对这个文件进行读写。
2.Activity类中的getPreferences()方法
只接受操作模式这一个参数,使用这个方法的活动类名会作为SharedPreferences的文件名。
3.PreferenceManager类中的getDefaultSharedPreferences()方法
只接受一个context参数,使用这个方法的包名会作为SharedPreferences的文件名。
获取SharedPreferences对象之后,我们可以进行读取文件或者写入文件操作了,其中读取文件分以下三步:
1.调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象
2.向SharedPreferences.Editor对象中添加数据
3.调用apply()方法将添加的数据提交,完成数据存储操作。
文件写入demo如下:
SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();
//SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
//SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit();
editor.putString("name", "Tom");
editor.putInt("age", 28);
editor.putBoolean("married", false);
editor.apply();
读出文件很简单,获取获取SharedPreferences对象之后,直接读出,demo如下:
SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
//SharedPreferences pref = getPreferences(MODE_PRIVATE);
//SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
String name = pref.getString("name", "");
int age = pref.getInt("age", 0);
boolean married = pref.getBoolean("married", false);