作为一个完成的应用程序,数据存储操作是必不可少的。因此,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来对数据进行操作。

PS: URI由3个部分组成:"content://"、数据的路径、标识ID(可选)。

=================================================================

本博文系本博客主原创,版权归本博客主所有,如需转载,请注明转载地址。 
博客原始地址:wisekingokok.cnblogs.com

=================================================================

最新文章

  1. 『.NET Core CLI工具文档』(八)dotnet-restore
  2. Java Graphics2D 画出文字描边效果
  3. linux------------Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
  4. 判断闰年的方法以及如何获得单链表的倒数第K个元素
  5. 路由器密码破解工具 Hydra 7.5
  6. Python 升级
  7. VMware SphereESXi上安装虚拟机
  8. java.util.vector中的vector的详细用法
  9. word2vec初探(用python简单实现)
  10. 【一天一道LeetCode】#89. Gray Code
  11. Mergeable Stack ZOJ - 4016(list)
  12. 怎样使用md命令一次建立多级子目录
  13. JavaSE-类
  14. java.lang.RuntimeException: Invalid action class configuration that references an unknown class name
  15. mysql in 查询参数化
  16. 四、API使用参考
  17. Objective-C中的一些特殊的数据类及NSLog的输出格式
  18. C# GDI绘制仪表盘(纯代码实现)
  19. Java使用极小的内存完成对超大数据的去重计数,用于实时计算中统计UV
  20. 修改主机hosts文件 访问外网

热门文章

  1. android 添加左右滑屏手势
  2. 使用Ramdisk 加速 Visualstudio 编译调试
  3. CSS选择器、优先级和匹配原理
  4. csu 1563 Lexicography
  5. golang win32编程的一个dll坑
  6. Largest Rectangle in a Histogram(最大矩形面积,动态规划思想)
  7. linux性能监控三张图
  8. 如何在其他类中实现继承自CFormView类的对象
  9. Openv2.1基本数据类型
  10. Matlab中K-means聚类算法的使用(K-均值聚类)