Android数据存储
来源:互联网 发布:电视机电视直播软件 编辑:程序博客网 时间:2024/06/05 08:37
Android系统中主要提供了三种方式用于简单地实现数据持久化功能,即文件存储、SharedPreference存储以及数据库存储。
文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。
Context类中提供了一个openFileOutput ()方法,可以用于将数据存储到指定的文件中。这个方法接收两个参数,第一个参数是文件名,在文件创建的时候使用的是这个名称,注意这里指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<package
name>/files/目录下的。第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE和MODE_APPEND。其中MODE_PRIVATE是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而MODE_APPEND则表示如果该文件已存在就往文件里面追加内容,不存在就创建新文件。openFileOutput()方法返回的是一个FileOutputStream对象,得到了这个对象之后就可以使用Java流的方式将数据写入到文件中了。Context类中还提供了一个openFileInput()方法,用于从文件中读取数据。它只接收一个参数,即要读取的文
件名,然后系统会自动到/data/data/<package name>/files/目录下去加载这个文件,并返回一个FileInputStream对象,得到了这个对象之后再通过Java 流的方式就可以将数据读取出来了。
SharedPreferences使用xml格式为Android应用提供一个永久性的数据存储方式。对于一个Android应用,它存储在文件系统的/data/data/<package_name>/shared_prefs/目录下,可以被处在同一个应用中的所有Activity访问。Context类中的getSharedPreferences()方法;Activity类中的getPreferences()方法;PreferenceManager类中的getDefaultSharedPreferences()方法。得到了SharedPreferences对象之后,就可以开始向SharedPreferences 文件中存储数据了,
主要可以分为三步实现:
1.调用SharedPreferences 对象的 edit()方法来获取一个SharedPreferences.Editor对象。
2.向SharedPreferences.Editor 对象中添加数据,比如添加一个布尔型数据就使用putBoolean方法,添加一个字符串则使putString() 方法,以此类推。
3.调用commit()方法将添加的数据提交,从而完成数据存储操作。
SharedPreferences存储确实要比文本存储简单方便了许多,应用场景也多了不少,比如很多应用程序中的偏好设置功能其实都使用到了SharedPreferences技术。
文件存储和SharedPreferences存储毕竟只适用于去保存一些简单的数据和键值对,SQLite适用于需要存储大量复杂的关系型数据的时候。比如我们手机的短信程序中可能会有很多个会话,每个会话中又包含了很多条信息内容,并且大部分会话还可能各自对应了电话簿中的某个联系人。
- Android | Android数据存储
- Android数据存储--网络存储
- Android数据存储:File存储
- Android 数据存储--文件存储
- android 数据存储-文件存储
- Android数据存储----File 存储
- Android的数据存储
- Android数据存储
- Android数据存储
- Android 数据存储
- Android数据存储
- Android数据存储
- android中的数据存储
- Android 数据存储总结
- Android-数据存储
- Android 数据存储
- android数据存储
- Android 数据存储方式
- 【经验分享】解读支付宝接口程序
- Struts2+jQuery+JSON 实现输入关键字后提示框显示数据
- 利用 Composer 完善自己的 PHP 框架(二)——发送邮件
- Android性能优化典范 - 第2季
- 关于Joda-time
- Android数据存储
- Mybatis 源码 sql执行流程分析
- Spring与SpringMVC的容器关系分析
- git clone 远程分支
- 二叉树回顾(1):建立、交换左右子树
- sublime工具使用技巧
- mybatis中一对多映射,但两张表id相同怎么办?
- MySQL权限篇之SHOW DATABASES及SHOW VIEW
- 火车票订票系统