Android数据存储

本文介绍了Android系统中的三种数据持久化方法:文件存储、SharedPreferences存储及数据库存储。详细讲解了每种方式的应用场景、操作方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   Android系统中主要提供了三种方式用于简单地实现数据持久化功能,即文件存储、SharedPreference存储以及数据库存储。

   文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。

  Context类中提供了一个openFileOutput ()方法,可以用于将数据存储到指定的文件中。这个方法接收两个参数,第一个参数是文件名,在文件创建的时候使用的是这个名称,注意这里指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<package
name>/files/目录下的。第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATEMODE_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适用于需要存储大量复杂的关系型数据的时候。比如我们手机的短信程序中可能会有很多个会话,每个会话中又包含了很多条信息内容,并且大部分会话还可能各自对应了电话簿中的某个联系人。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值