1.Android数据库简单介绍

Android通过结合使用SQLite数据库和Content Provider,提供了结构化数据的持久功能。

SQLite数据库能够通过一种结构化的、易于管理的方法来存储应用程序数据。

Android提供了一个完整的SQLite关系数据库的库文件。每一个应用程序都能够创建自己的数据库,并对这个数据库拥有全然的控制权。

Android数据库存储在设备上的/data/data/<package name>/database目录中。全部的数据库都是私有的,仅仅能被创建他们的应用程序訪问。

2.Content Provider简单介绍

Content Provider提供了一种基于使用“content://”模式的简单URI寻址模型来公布和使用数据的接口,是安卓四大组件之中的一个。

创建了底层数据存储之后。就能够使用Content Provider,它通过底层数据源运行了一致的抽象,使得应用程序不必过于依赖某个数据源。

使用它能够实现应用程序间数据的共享,比方我们的应用能够调取短信或联系人的操作。当然我们也能够公布我们自己的Content Provider,这样别人就能够在他们的应用中对我们的数据库进行CRUD的操作了。

详细用法,后期会有专题进行介绍。

3.SQLite简单介绍

SQLite是一种流行的关系数据库管理系统(Relational Database Manager System)。

特征为:开源 符合标准 轻量级。

它已经被实现为简洁的C语言。而且成为Android软件栈的一部分。

通过作为一个库实现。而不是作为一个独立的进程不断运行。每一个SQLite数据库成为创建它的应用程序的完整部分。这样做能降低应用程序的外部依赖性、最小化延迟并简化事务锁定和同步。

SQLite非常可靠,是很多消费类电子产品(如非常多MP3播放器和智能手机)首选的数据库系统。

4.Content Value和Cursor

Content Value用来向数据库中的表插入新的行。

每个ContentValues对象都将一个表行表示为列名到值得映射。

数据库查询作为Cursor对象返回。Cursor是底层数据中的结果集的指针。他没有提取和返回结果值得副本。

Cursor的经常用法:

cursor.moveToFirst();//把游标移动到查询结果中的第一行
cursor.moveToNext();//把游标移动到下一行
cursor.moveToLast();//把游标移动到最后一行
cursor.moveToPrevious();//把游标往前移动一行
cursor.getCount();//获取结果集的数量
cursor.getColumnIndexOrThrow("");//依据指定列名返回其索引,从0開始,没有则抛出异常
cursor.getColumnNames();//获取当前cursor中的全部列名的字符串数据
cursor.getColumnName(1);//依据索引返回列名
cursor.moveToPosition(1);//把游标移动到指定行
cursor.getPosition();//获取当前游标的位置

5.SQLiteOpenHelper简单介绍

SQLiteOpenHelper是一个抽象类,用于实现创建、打开和升级数据库。

SQLiteOpenHelper会在成功打开数据库实例后再缓存它们。所以我们能够在要运行查询或事务前请求打开数据库。除非我们不再须要使用数据库,否则无需手动关闭他们。

数据库操作特别是打开和创建的额时候须要非常长的时间才干完毕,因此为了确保这些操作不会影响用户体验,应使数据库操作异步运行。

一般。在我们的应用中须要定义一个类继承SQLiteOpenhelper类。通过重写其构造函数 onCreate onUpgrade方法来分别处理创建数据库和升级到新版本号数据库。

一些数据库主要的概念就简介到这了,下一篇实战代码介绍一下android数据库的增删改查操作。

最新文章

  1. hdu 5534 (完全背包) Partial Tree
  2. java面试题之ssh
  3. c程序代码优化的一些方法
  4. Apache虚拟主机配置(多个域名访问多个目录)
  5. ASPNET5中的那些K
  6. SpringMVC(三)——其他知识
  7. Post和Get差异
  8. LINUX下编译安装最新版本mysql
  9. 纯CSS3美化单选按钮radio
  10. 老生常谈之SQL Server (行转列,列转行)
  11. Python内置函数(44)——len
  12. 三分钟学会.NET微服务之Polly
  13. 肺结节CT影像特征提取(五)——肺结节CT影像ROI区域灰度直方图及其图形化
  14. LongAdder 测试
  15. 开发一个简单的chrome插件-解析本地markdown文件
  16. myql 格式化日期
  17. C#调用系统打印机和收银钱箱
  18. gdb 调试入门,大牛写的高质量指南
  19. 干货 | JavaScript内存空间详解
  20. 黄聪: $(document).click() 在iphone上不触发事件解决办法

热门文章

  1. CodeForces 738E Subordinates
  2. 第1天:Ansible安装部署
  3. 【IO】同步、异步、阻塞、非阻塞的理解
  4. cobol COMP-3最后1位
  5. CCF 第六次计算机职业认证 第四题 收货 stl动态存储和fleury算法的综合应用
  6. [UOJ348]州区划分
  7. Eden的退役记
  8. 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址
  9. 8VC Venture Cup 2016 - Elimination Round A. Robot Sequence 暴力
  10. [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额