- 12
- 0
- 约1.12万字
- 约 12页
- 2017-07-13 发布于浙江
- 举报
6.3.1数据存储与访问之——初见SQLite数据库
6.3.1 数据存储与访问之——初见SQLite数据库
本节引⾔:
本节我们继续来学习Android数据存储与访问的第三种⽅式:SQLite数据
库,和其他的SQL数据库不同, 我们并不 要在⼿机上另外安装⼀个数
据库软件,Android系统已经集成了这个数据库,我们⽆ 像 使⽤其他数
据库软件(Oracle ,MSSQL ,MySql等)又要安装,然后完成相关配置,又
要改端⼜之类的 ! 引⾔就说这么多,接下来我们来学习下这个东西~
1.基本概念
1)SQLite是什么?为什么要⽤SQLite ?SQLite有什么特点?
答:下⾯请听⼩猪娓娓道来:
①SQLite是⼀个轻量级的关系型数据库,运算速度快,占⽤资源少,很
适合在移动设备上使⽤, 不仅⽀持标准SQL语法,还遵循ACID(数据库
事务)原则,⽆ 账号,使⽤起来⾮常⽅便 !
②前⾯我们学习了使⽤⽂件与SharedPreference来保存数据,但是在很多情
况下, ⽂件并不⼀定是有效的,如多线程并发访问是相关的;app要处理
可能变化的复杂数据结构等等 ! ⽐如银⾏的存钱与取钱 !使⽤前两者就
会显得很⽆⼒或者繁琐,数据库的出现可以解决这种问题, ⽽Android又
给我们提供了这样⼀个轻量级的SQLite ,为何不⽤?
③SQLite⽀持五 数据类型: ULL ,I TEGER ,REAL(浮点数),TEXT(字符
串⽂本)和BLOB(⼆进制对象) 虽然只有五种,但是对于varchar ,char等其他
数据类型都是可以保存的;因为SQLite有个最⼤的特点: 你可以各 数据
类型的数据保存到任何字段中⽽不⽤关⼼字段声明的数据类型是什么,⽐
如你 可以在Integer类型的字段中存放字符串,当然除了声明为主键
INTEGER PRIMARY KEY 的字段只能够存储64位整数 ! 另外, SQLite
在解析CREATE TABLE 语句时, 会忽略 CREATE TABLE 语句中跟在
字段名后⾯的数据类型信息如下⾯语句会忽略 name字段的类型信
息: CREATE TABLE person personid integer primary key
autoincrement, name varchar 20))
⼩结下特点:
SQlite通过⽂件来保存数据库,⼀个⽂件就是⼀个数据库,数据库中又包
含多个表格,表格⾥又有 多条记录,每个记录由多个字段构成,每个字
段有对应的值,每个值我们可以指定类型,也可以不指定 类型(主键除
外)
PS :对了,Android 内置的SQLite是SQLite 3版本的~
2 )⼏个相关的类:
嘿嘿,学习⼀些新东西的时候,最不喜欢的莫过于遇到⼀些新名词,是
吧,我们先来说下⼏个 我们在使⽤数据库时⽤到的三个类:
SQLiteOpenHelper :抽象类,我们通过继承该类,然后重写数据
库创建以及更新的⽅法, 我们还可以通过该类的对象获得数据库
实例,或者关闭数据库 !
SQLiteDatabase :数据库访问类:我们可以通过该类的对象来对
数据库做⼀些增删改查的操作
Cursor :游标,有点类似于JDBC⾥的resultset ,结果集 !可以简
单理解为指向数据库中某 ⼀个记录的指针 !
2.使⽤SQLiteOpenHelper类创建数据库与版本管理
对于涉及数据库的app ,我们不可能⼿动地去给他创建数据库⽂件,所以
要在第⼀次启⽤app 的时候就创建好数据库表;⽽当我们的应⽤进⾏升级
要修改数据库表的结构时,这个时候就 要 对数据库表进⾏更新了;对
于这两个操作,安卓给我们提供了SQLiteOpenHelper的两个⽅
法, onCreate( )与onUpgrade( )来实现
⽅法解析:
onCreate da
原创力文档

文档评论(0)