本章学习目标 1,了解SQLite数据库的特点和体系结构, 2,掌握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(Contextcontext, String name,CursorFactorycursorFactory,intversion) { 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)SQLiteDatabasegetReadableDatabase() 获取可读的SQLiteDatabase对象,查询的时候用 (4)SQLiteDatabasegetWritableDatabase() 获取可写的SQLiteDatabase对象,增删改查的时候用 操作步骤 步骤1:建立工程文件SQliteActivity 步骤2:建立表数据表结构SQliteOpenHelpe为抽象类,如果要使用它必须要继承,所以再创建一个DatabaseHelper.java 复写方法 nonCreate,nonUpgrade 步骤3 public void onCreate(SQLiteDatabase db) { Stringsql="create table person(pidinteger primary keyautoincrement,namevarchar(50),passwordvarchar(20))"; db.execSQL(sql);} /*public voidonCreate(SQLiteDatabasedb) { //TODO创建数据库后,对数据库的操作//此方法在创建数据库是被调用,所以,应该把创建表的操作放到这个方法里面,db.execSQL(“………..)") ;}*/
步骤4:在主activity中如何调用DatabaseHelper类进行数据库的创建(1)DatabaseHelperm_Helper; (2)m_Helper=newDatabaseHelper(this);(3)SQLiteDatabase db=m_Helper.getReadableDatabase();(4)db.close();/*调用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQLiteDatabase 实例,具体调用那个方法,取决于你是否需要改变数据库的内容:*/