Android 数据储存的方式有很多种,SharedPreferences 是其中一个较为轻量级的方式,它是将键值对储存在 xml 文件中,获得它的实例有两种方式:
// 方式一
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
// 方式二,传入两个参数,第一个是 SharedPreferences,第二个是它的模式,包括私有等
SharedPreferences sharedPreferences = this.getSharedPreferences("sp_1",MODE_PRIVATE);
两个方式有什么区别呢?虽然 SharedPreferences 是一种轻量级的储存方式,但是对于使用方式一,它只有默认的一个 SharedPreferences,如果整个应用储存到同一个里面,应用过大的话也会是在一种很好使的操作,所以使用第二种方式最好, 传入储存名。
然后,要怎么储存数据呢?
// 使用 SharedPreferences 保存
private void saveBySP(){
// 方式二,传入两个参数,第一个是 SharedPreferences,第二个是它的模式,包括私有等
SharedPreferences sharedPreferences = this.getSharedPreferences("sp_1",MODE_PRIVATE);
// 使用 SharedPreferences 的 编辑器来对数据进行操作
SharedPreferences.Editor editor = sharedPreferences.edit();
// 放入键值对,可以储存 String、Float、Boolean、Set<String> 等数据
editor.putString("memory",etMemory.getText().toString());
// 记得 commit
editor.commit();
}
然后就是获取数据:
// 获取数据
private String getBySp(){
SharedPreferences sharedPreferences = this.getSharedPreferences("sp_1",MODE_PRIVATE);
// null 为默认值,如果没有数据则返回 null
String memory = sharedPreferences.getString("memory",null);
return memory;
}
当然,不一定你的 SharedPreferences 的模式为 Private 就一定安全,所以我们可以对我们保存的数据进行加密等。