Android 系统提供了一种使用键值对来保存数据,这就是SharedPreferences ,它支持多种不同类型的数据存储,使用SharedPreferences 来进行数据持久化的操作要比使用文件方便的多。
使用SharedPreferences 保存数据
获得SharedPreferences 对象的三种方法:
1,Context 类中 getSharedPreferences()方法,有两个参数,第一个用来指定保存的key名称,第二个是指定操作模式,一般指定MODE_PRIVATE。
2,Activity 类中的getPreferences() 方法
它和Context 的方法很类似,不过它只接受一个操作模式参数,这个方法会自动将当前活动的类名作为SharedPreferences 的文件名。
3,PreferencesManager 类中getDefaultSharedPreferences() 方法
这是一个静态方法,它接收一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferences 文件,得到了SharedPreferences 对象之后,就可以存储数据了。分为以下三个步骤:
(1)调用SharedPreferences 对象的edit() 方法来获取一个SharedPreferences.Editor对象。
(2)向SharedPreferences.Editor 对象中添加数据,比如添加一个布尔型数据就是使用putBoolean() 方法,诸如以此类推。
(3)调用apply() 提交数据。
保存数据:
//context getSharedPreferences
SharedPreferences sharedPreferences = getSharedPreferences("data",MODE_PRIVATE);
SharedPreferences.Editor edit = sharedPreferences.edit();
edit.putString("name","黄飞鸿");
edit.putInt("age",32);
edit.apply();
获取数据:
private String getSpf()
{
SharedPreferences sharedPreferences = getSharedPreferences("data",MODE_PRIVATE);
return "name=="+sharedPreferences.getString("name","")+":::age==="+sharedPreferences.getInt("age",0);
}
使用AndroidUtilCode
AndroidUtilCode
这里面有你需要的工具类,非常好用。
体验下 SPUtils:
保存数据:
SPUtils.getInstance("data02").put("name","黄飞");
是不是很简单。
获取数据:
SPUtils.getInstance("data02").getString("name");
工具类会简化你很多的操作,建议使用。
网友评论