Android:SQLite数据库存储介绍
SQLite定义
并本像Oracle、MySQL数据库那样需要安装启动服务器进程,SQLite数据库只是一个文件。
SQLite数据类型
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下几种常用的数据类型:
- NULL: 这个值为空值
- VARCHAR(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。
- CHAR(n):长度固定为n的字串,n不能超过 254。
- INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.
- REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.
- TEXT: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).
- BLOB: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改 变格式。
- DATA :包含了 年份、月份、日期。
- TIME: 包含了 小时、分钟、秒。
SQLiteDatabase的介绍
SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。
Cursor
Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等
查询方法返回的都是一个Cursor对象
SQLiteOpenHelper
该类是 SQLiteDatabase一个辅助类,这个类主要生成一个数据库,并对数据库版本进行管理
SQLiteOpenHelper是一个抽象类,通常要继承它,并实现里面的3个函数:
- onCreate(SQLiteDatabase)
在数据库第一次生成的时候会调用这个方法,也就是说,只有在创建数据库的时候才会调用,当然也有一些其它的情况,一般我们在这个方法里边生成数据库表。
- onUpgrade(SQLiteDatabase,int,int)
当数据库需要升级的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据表,并建立新的数据表,当然是否还需要做其他的操作,完全取决于应用的需求。 - onOpen(SQLiteDatabase):
这是当打开数据库时的回调函数,一般在程序中不是很常使用。