SharedPreferences使用键值对的方式来存储数据
存储一个数据的时候,需要给这个数据提供一个键,取这个数据的时候也需要使用这个键来取.
* SharedPreferences对象的获取方式
* 1.Context类中的getSharedPreferences()方法
* 参数一: 指定SharePreferences文件的名称,如果文件不存在则会创建一个,
* SharedPreferences文件都存放在/data/data//shared_prefs目录下
* 参数二: 指定操作模式 MODE_PRIVATE MODE_MULTI_PROCESS, MODE_PRIVATE时默认的操作模式,
* 和直接传入0效果一样,表示只有当前的应用程序才可以对该SharedPreferences文件操作,
* MODE_MULTI_PROCESS则一般用于会有多个进程中对同一个SharedPreferences操作的情况.
* 2.Activity类中的getPreferences()方法 只接受一个操作模式参数
* 参数: 因为在使用这个方法时,会自动将当前活动的类名座位SharedPreferences的文件名
* 3.PreferenceManager类中的静态方法:getDefaultSharedPreferences()方法,接收一个Context
* 参数,并自动使用当前应用程序的报名的前缀命名SharedPreferences文件.
* 向SharedPreferences文件中存储数据
* 1.调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象.
* 2.向SharedPreferences.Editor对象中添加数据,使用putXXX()方法
* 3.调用commit()方法将添加的数据提交,从而完成数据存储的操作
* SharedPreferences文件使用的时XML格式文件对数据进行管理
核心代码:
SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();
editor.putString("name", "Tom");
editor.putInt("age", 20);
editor.putBoolean("boy", true);
editor.commit();
对于SharedPreferences数据的读取非常简单,只要获取到SharedPreferences对象,只需要通过相应的get方法获取即可
核心代码:
SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
String name = pref.getString("name", "");
int age = pref.getInt("age", 0);
boolean boy = pref.getBoolean("boy", false);