Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。

  SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。

  SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。

  File: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

  ContentProvider: Android系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content Provider都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。

参考: http://blog.csdn.net/zhangtengyuan23/article/details/10701597

最新文章

  1. 通过3个Hello World应用来了解ASP.NET 5应用是如何运行的(1)
  2. 五、Android学习第四天补充——Android的常用控件(转)
  3. eclipse乱码解决方法
  4. 51nod 1163 最高的奖励(贪心+优先队列)
  5. linux上安装jdk并添加环境变量
  6. OpenHCI - Open Host Controller Operational Registers
  7. unity shader random number
  8. asp web api 怎么使用put和delete。
  9. VMware系统运维(十四)部署虚拟化桌面 Horzion View Manager 5.2 配置许可
  10. WPF中增加Month Calendar月历控件
  11. [Swust OJ 799]--Superprime Rib(DFS)
  12. (转)浅析CSS——元素重叠及position定位的z-index顺序
  13. 第7天:input和label标签
  14. C#图解教程 第二十章 异步编程
  15. 前端开发必备之chrome插件
  16. Web高级 网站安全
  17. jq给单选框 radio添加或删除选中状态
  18. python 数据类型-字符串-对象和方法
  19. python的super函数学习
  20. CentOS软件的安装,更新与卸载命令

热门文章

  1. SQLite数据库中获取新插入数据的自增长ID
  2. Redis 键(key)
  3. 通用超级强大的基于Oracle数据库的代码生成器
  4. jboss加密敏感信息
  5. redis中5种数据结构的使用
  6. [改善Java代码]提防包装类型的null值
  7. ImageView的src和background的区别
  8. less-1
  9. ActiveMQ(5.10.0) - Spring Support
  10. C#中的DateTime:本周第一天,本月第一天,今年第一天,本周第一天的时间