持久化技术
将内存中的瞬时数据(瞬时状态)保存到存储设备中(持久状态),保证在手机关机的情况下数据也不会丢失。
持久化技术提供这种可以让数据在瞬时状态和持久状态直接转换的机制。
Android系统中主要提供了三种方式用于简单的实现数据持久化功能:
- 文件存储(手机自带的内存)
- SharedPreferences存储
- SQLite数据库存储
文件存储
手机自带的内存,只能供当前应用程序访问,其他应用程序访问不了,程序卸载这些数据也会随着消失
将数据存储到文件中
context类中的openFileOutput()可以将数据存储到指定的文件中,方法有两个参数,第一个参数是文件名,不需要带上完整的路径,因为这里都是默认存储到/data/data/<package name>/files
下面的
第二个参数是文件的操作模式,两种:MODE_PRIVATE和MODE_APPEND.前者是覆盖,后者是追加
原理:
基本是先获取一个文件的输出流,然后把信息write进去,最后关闭流
- 通过上下文类context的openFileOutput()方法获得一个FileOutputStream输出流
- 要写入的内容通过write()写到FileOutputStream对象
- 关闭流
主要的就是上面的三句话
openFileOutput打开一个输出流,然后构建一个字节缓冲流对象然后写数据,
private void save(String inputText ) {
FileOutputStream fos = null;
BufferedWriter writer = null;
try {
fos = openFileOutput( "data", Context.MODE_PRIVATE);
writer = new BufferedWriter( new OutputStreamWriter(fos));
writer.write(inputText );
}