数据持久化
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是:
一、文件存储
Android系统下的文件分为两类:一类是共享文件,如存储在SD卡上的文件,这种文件任何的Android应用都可以访问;另一类是私有文件,即Android应
用自己创建的文件。Android中对文件的读写与javaSE的文件读写一样,都是采用IO流。但是对于私有文件,只有具有访问权限的用户才能使用,因此,Android提供了一组特有的API来完成对私有文件的读写。
即 Context类中提供的FileInputStream openFileInput(String name)和
FileOutputStream openFileOutput(String name,int mode)方法
,获取文件输出流或者文件输入流,之后就是利用 Java 的各种流来进行读写操作就可以了。其中参数mode,即对文件的操作模式。
二、 SharedPreferences存储
sharedpreference是一种轻量级的键值对存储机制,只用于存储基本数据类型,主要针对系统配置信息的保存。
三种方法获取SharedPreferences对象
1, Activity提供了如下获取方法
public SharedPreferences getPreferences(int mode)
2,PreferenceManager提供的方法,
// SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
其实质是调用了context的getSharedPreferences方法,故第三中方法为:
// SharedPreferences pref =getSharedPreferences("myPref", MODE_PRIVATE);
//写入数据通过SharedPreferences 获取Editor对象来完成;
Editor editor = pref.edit();
通过Editor对象存数据(数据以xml文档的形式存放)
editor.putString("name","张三");
edtior.commit(); //提交,完成数据的存入
//获取数据:直接调用SharedPreferences 的getXXX()方法实现
pref.getString("name","default")