文件存储、SharedPreferences存储、SQLite数据库存储,这三种 Android数据持久化方法中SharedPreferences存储可以说是实现起来相对比较简单的一种。
获取SharedPreferences对象有三种方式
1、Context类中的getSharedPreferences 方法
this.getSharedPreferences (String name, int mode)
name:指定SharedPreferences文件的名称,若不存在则创建。SharedPreferences都是存放在/data/data/<package name>/shared_prefs/目录下
mode:目前只有Activity.MODE_PRIVATE这一种模式,它是默认的操作模式。其他的操作模式均被废弃
在Android 4.2版本中被废弃
Activity.MODE_WORLD_READABLE
Activity.MODE_WORLD_WRITEABLE
在Android 6.0版本中被废弃
Activity.MODE_MULTI_PROCESS
2、Activity类中的getPreferences方法
this.getPreferences (int mode)
这个方法与getSharedPreferences 方法类似,但它不接收name,因为这个方法是以当前活动的类的类名作为文件名的,因此一个Activity只能有一个,属于这个Activity。
3、PreferenceManager类中的getDefaultSharedPreferences方法
PreferenceManager.getDefaultSharedPreferences(Context context);
这是一个静态方法,它接收一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferences文件。
得到了了SharedPreferences对象后,就要进行存储数据
1. 调用对象的editor()方法获取一个SharedPreferences.Editor对象。
2. 向SharedPreferences.Editor对象中添加数据,例如:putBoolean() putString()
3. 调用apply()方法提交数据,完成存储操作
读取数据则通过SharedPreferences中的get方法获取,对应SharedPreferences.Editor中的put方法,试一试就知道。