本章学习目标:
了解SQLite数据库的特点和体系结构
掌握SQLite数据库的建立和操作方法
SQlite介绍
SQliteOpenHelpe(抽象类,也叫助手类,对数据库的基本操作)
如何设计数据库,进行增删改查功能的实现
SQLite数据库
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
代码建库
在代码中动态建立数据库是比较常用的方法
在程序运行过程中,当需要进行数据库操作时,应用程序会首先尝试打开数据库,此时如果数据库并不存在,程序则会自动建立数据库,然后再打开数据库
在编程实现时,一般将所有对数据库的操作都封装在一个类(SQliteOpenHelpe)中,因此只要调用这个类,就可以完成对数据库的添加、更新、删除和查询等操作
类(SQliteOpenHelpe)
在编程实现时,一般将所有对数据库的操作都封装在一个类(SQliteOpenHelpe)中,因此只要调用这个类,就可以完成对数据库的添加、更新、删除和查询等操作
public class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) {
super(context, name, cursorFactory, version);
}
/*这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
*/
类(SQliteOpenHelpe)
(1)public void onCreate(SQLiteDatabase db)
此方法在创建数据库时被调用,所以,应该把创建表的操作放到这个方法里面.
(2)public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
从方法名上我们就能知道这个方法是执行更新的。
(3) SQLiteDatabase getReadableDatabase()
获取可读的SQLiteDatabase对象,查询的时候用
(4) SQLiteDatabase getWritableDatabase()
获取可写的SQLiteDatabase对象,增删改查的时候用