持续化技术简介
数据持续化就是☞将那些内存中的瞬时数据保存到存储设备中,保证手机关机的情况下不会丢失。保存在内存的数据是瞬时状态的,保存在存储设备中的数据是处于持久状态的。持久化技术提供了一种机制让数据在瞬间状态和持久状态之间转化。
三大持久化技术 文件存储,sharepreferences,数据库存储。
文件存储
所有数据不进行任何格式化处理直接存入文件中,适合一些简单的文本数据和二进制数据。
SharePreferences存储
SharePreference是使用键值对的方式进行存储数据。在保存数据时要给它提供对应的键,读取时可以通过读取键把对应的值取出来。
将数据存储到SharePreference中
想用SharePreference存储数据,首先要获取SharePreferences对象。Android有三种获得SharePreferences对象的方法。
1.context类的getSharePreferences()方法
此方法有两个参数,第一个指定SharePreferences文件的名称,如果文件不存在则会创建一个。第二个参数是指定操作模式,只有MODE_PRIVATE一种模式可选,也是默认的操作模式,表示中有当前的程序可以对这个SharePreferences文件进行读写。
2.Activity的getPreferences()方法
这个方法和第一个很像,参数只有一个就是操作模式,它会自动将当前活动的类名当作SharePreferences的文件名。
3.PreferenceManager类中的getDefaultSharedPreference()方法
这个是静态方法,接收一个Context参数,把应用程序的包名当作前缀来命名SharePreferences文件。
我们在得到SharePreferences对象之后就可以向SharePreferences文件里面存储数据了
1.调用SharePreferences对象的edit()方法来获取一个SharePreferences.Editor对象。
2.向SharePreferences.Editor对象中添加数据,比如加入布尔型数据就使用putBoolean()方法。
3。调用apply()方法将添加的数据提交
从SharePreferences中读取数据
SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);
String name = pref.getString("name", "");
int age = pref.getInt("age", 0);
boolean married = pref.getBoolean("married", false);