Android的数据存储有以下几种:
4.1 Sharedpreferences
这是android里一个轻量级的存储类,一般用来存储小量数据,例如配置信息等,其实现机制是生成一个XML文件,里面每个元素是一个键为string类型的键值对,当访问该数据时,也无需程序员去解析,因为它封装好了该解析器,我们只要调用其一个接口函数,即可读取、修改和删除数据。
该Sharedpreferences可在包里实现数据共享,但包和包之间只能读,不能写,但是SDK文档上说可以通过设置访问权限为mode_world_writable,接口实现应用之间的共享,但是实践证明:目前不能实现,不知道android以后的版本可以实现么,还是android没有完全开源。如果有朋友解决了该问题,请和我共享下。
数据存储在/data/data/包名/shared_prefs/里。
我们的注册状态,短信号码,中心号码等信息是通过该方法来存储的。
4.2 internal storage
这种机制就是通过Context.openOutput()生成一个输出流,通过该输出流把数据写在一个文件里,存储在/data/data/包名/files/里.
这里可以在不同的包间共享:方法是把文件里修改后的数据一行一行的读入到list容器里,然后再一起重新写入到该文件里。
我们的位置短信和查询短信是通过这种办法实现的。
4.3 SQLite
是一个轻量级的数据库,只有30多K,和平常的数据库操作没什么不同,资料网上很多,这里不做累赘。
4.4 external storage
存储在SD卡里的,由于时间问题,具体没有去深入研究。有待以后用到结合项目一起研究。
4.5 网络存储
从网络发送邮件,接收邮件的方式。