Android 五大数据存储 (最实用的开发详解) 一 存储方式

我们在平常的开发中 很容易要用到存储数据,那我们的数据一般都怎么保存呢,或者说都保存到哪里呢 他们有什么区别呢 今天和大家分享下Android的五大存储方式:

1、SharedPreferences:

一种比较轻量级的键值对存储,创建后文件会在shared_prefs里面添加一个xml,所以又叫xml存储,增删改查都很方便快捷不需要操作工具类代码实现也相对简单,使用场景是作为一些小数据的存储 比较常规的比如记住密码,地理信息的保存 或者临时标识的保存

位置: data/data/包名/shared_prefs
优点: 轻量级,以键值对的方式进行存储,使用方便,易于理解
采用的是xml文件形式存储在本地,程序卸载后会也会一并被清除,不会残留信息
缺点: 列表式的数据不支持,储存相对单一,无法条件查询,不适合大量的数据存储。 在跨进程通讯中不去使用SharedPreferences键值对不宜过多
具体使用: SharedPreferences具体使用

2、内部存储:

分为cache缓存和cache Dir两种存储方式。
一般用来应用缓存处理,不太建议放一些大内存常态图片

位置: data/data/包名/files 和 data/data/包名/cache
优点: 当前应用卸载或者清楚数据,都会删除,无残留
缺点: 内存有限不建议储存太多数据

3、外部存储sdcard:

这个就是我们所说的内存卡存储
我们可以用来存储文件,图片,视频之类

位置: 它的路径位于应用包的外部 sdcard路径下 具体存储位置可以通过new File(“路径地址”,“文件名”)来定义

优点: 可以大量储存图片,音频,视频,文档之类,
缺点: 当前应用卸载或者删除 相关数据会保留,需要单独手动删除,目前android 10.0版本在操作起来 比较麻烦 涉及分仓储存问题

4、SQLite数据库:

SQLite没有数据类型。
首先要建一个继承于SQLiteOpenHelper的类,实现其中的至少一个构造方法和两个方法onCreate()、onUpdate()。在onCreate()中用execSQL()方法创建数据库,创建完的数据库在data/data/项目名称/databases路径下,往
SQLite的增删改查分别需要用到insert()、delete()、update()、query()方法。
优点: 轻量级,独立性,隔离性,安全性
缺点: SQLite在并发的读写方面性能不是很好,数据库有时候可能会被某个读写操作独占,可能会导致其他的读写操作被阻塞或者出错。不支持SQL92标准,有时候语法不严格也可以通过,会养成不好习惯,导致不会维护。

5、网络存储:

就是我们经常提到的请求服务器了 比如常规的服务器请求,或者阿里云服务器

优点: 几乎可以不用担心内存问题,本地处理麻烦的可以交由服务器处理
缺点: 完全依赖于网络 ,网络延迟和资费成本都会上升

以上就是五种存储模式,至于选用哪种来作为我们的数据存储,我们要根据数据的属性,特点,大小,私密性来选择我们的储存方式,后面我会添加五种方式的使用方法

猜你喜欢

转载自blog.csdn.net/qq_28643195/article/details/107556187