Android数据存储

Android数据存储的五种方式

1、SharedPreferences

2、文件存储

3、SQLite数据库

4、ContentProvider

5、网络存储

SharedPreferences

SharedPreferences特点: 适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等

SharedPreferences
(1)、两种获取SharePreferences对象的方法
  • ①getSharedPreferences (String name, int mode)
  • ②getPreferences (int mode)

文件存储

(1)、创建一个内部存储的私有文件
  • ①调用Context的openFileOutput()函数,填入文件名和操作模式,它会返回一个FileOutputStream对象。

  • ②通过FileOutputStream对象的write()函数写入数据。

  • ③FileOutputStream对象的close ()函数关闭流。

SQLite数据库

(1)、SQLite储存特性

(1)ACID事务:指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

(2)零配置 – 无需安装和管理配置

(3)储存在单一磁盘文件中的一个完整的数据库

(4)数据库文件可以在不同字节顺序的机器间自由的共享

(5)支持数据库大小至2TB

(6)足够小, 大致3万行C代码, 250K

(7)比一些流行的数据库在大部分普通数据库操作要快

(8)简单, 轻松的API

ContentProvider

ContentProvider:为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的ContentProvider
  1、ContentProvider使用表的形式来组织数据
   无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格
  2、ContentProvider提供的方法
   query:查询
   insert:插入
   update:更新
   delete:删除
   getType:得到数据类型
   onCreate:创建数据时调用的回调函数
  3、每个ContentProvider都有一个公共的URI,这个URI用于表示这个ContentProvider所提供的数据。Android所提供的ContentProvider都存放在android.provider包当中

对比这几种方式,可以总结下:
  • 简单数据和配置信息,SharedPreference是首选;
  • 如果SharedPreferences不够用,那么就创建一个数据库
  • 结构化数据,一定要创建数据库,虽然这稍显烦锁,但是好处无穷
  • 文件就是用来存储文件(也即非配置信息或结构化数据),如文本文件,二进制文件,PC文件,多媒体文件,下载的文件等等。
  • 尽量不要创建文件
  • 如果创建文件,如果是私密文件或是重要文件,就存储在内部存储,否则放到外部存储
  • 不要收集用户数据,更不要发到网络上,虽然你们也有很多无奈。用户也无奈,也无辜,但更无助
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值