Android的数据存储方式总结

  • 前言
  • 1. 文件存储
  • 2. SharedPreference
  • 3. SQLite
  • 4. ContentProvider
  • 5. 网络


前言

上次路过的时候遇到这个问题,结果就只记得一部分了,顺便就再次统计一下。

1. 文件存储

将数据保存到本地或者SD卡上的文件里面,基本用法大体和Java的文件存储相同,都是用IO流进行存储,然后对于Android系统,文件存储还有如下几个特点:

  • 文件存储所创建的所有文件都会存放在当前应用的目录下。
  • 应用被卸载后,所带的文件也会被删除。

Java的IO基础知识点总结

2. SharedPreference

SharedPreference是Android设置的一个轻量级的数据存储的方式。它可以将数据以键值对的形式存放到文件中,在你需要的时候再取出来。

  • 用键值对的形式存储数据。
  • 默认的存储路径是:data/data/应用程序的包名/shared_prefs,存储文件的格式是xml格式。
  • 存储路径可以手动修改。
  • 一般用于存储重要内容和做一些判断,比如说判断用户是否是第一次打开app。

Android的SharedPreference基本知识点总结

3. SQLite

SQlite是Android系统内置的数据库,运行速度快,占用内存小。

  • 默认的存储路径是:data/data/应用程序的包名/database,存储文件的格式是db。
  • 支持原生SQL语句,支持ACID。
  • 是轻量级的数据库,不需要账号密码。

Android的SQLite基本知识点总结

4. ContentProvider

用于跨进程之间的通信,Android系统用于让不同的应用程序之间共享数据的接口,就是Content Provider(内容提供者)。

如果一个应用程序有设置这样的外部访问接口,那么任何其他的应用都可以访问到这一部分的内容。比如说Android系统自带的联系人,相册,短信之类,都会带有这样的接口。


5. 网络

这个不多说了,我们一般用okhttp和Retrofit进行网络通信。