1、Android数据库(SQLite数据库)仅仅限于创建数据库的应用程序访问,数据文件存储在/data/data/包名/database文件夹下。SQLite数据库可以通过一种结构化的易于管理的方法来存储应用程序的数据。
2、Content Provider:提供了一个标准的接口,可供应用程序与其他应用程序共享数据(包括来自数据库的数据)和使用这些应用程序的数据。使用Content Provider可以在应用程序内和应用程序间(在有授权的情况下)存储、共享、使用(增删查改)结构化数据(即关系型数据,来自数据库)。
3、Android通过使用SQLite数据库和Content Provider提供了结构化数据的持久化功能。创建了底层数据存储之后,就可以使用Content Provider,它通过底层数据源执行了一致的抽象,为使用和共享数据提供了通用的,定义良好的接口。
4、SQLite是一种关系型数据库,具有:开放、标准、轻量级、单层的特点。与传统的关系型数据库不同的是,SQLite的数据类型检查比较松散,不要求同一列中所有值都必须是同一类型。SQLite要求为每行的列值分别设置类型。
5、Content Value可以用来想数据库的表中插入新的行,每一个ContentValues对象都是数据库中某一表行映射形成的键值集合(key-value)。
6、数据库查询将返回Cursor对象,Cursor是底层数据中的结果集的指针,它仅仅是指针,不携带任何数据副本。Cursor为查询特定行提供了易于管理的方式。下面是Cursor提供的几种常见的导航函数:
moveToFirst :游标移动至查询结果集的第一行
moveToNext :移至下一行
moveToPrevious :移至前一行
moveToPosition :将游标移动到指定行
getPosition :返回当前的游标位置
getCount :返回查询结果集的行数
getColumnName :返回指定列索引的名称
getColumnNames :返回当前Cursor中所有列名的字符串数组
getColumnIndexOrThrow :根据名称返回指定列的索引索引从0开始计数(如果不存在该列就抛出异常)