你的位置:首页 > 操作系统

[操作系统]Android SQLite数据库基础(1)


SQLiteOpenHelper类:是一个抽象类,通过从此类继承实现用户类,来提供数据库打开、关闭等操作函数。

SQLiteDatabase 类:数据库访问类:执行对数据库的插入记录、查询记录等操作。

SQLiteCursor类: 查询结构操作类:用来访问查询结果中的记录。

本小节先讨论下SQLiteOpenHelper类。

1、必须实现的方法为:“onCreate()”用于创建数据时调用,一般用于做初始化工作。

            “onUpdate()”方法用来更新数据库。

2、需完成super

3、SQLiteOpenHelper提供方法getReadableDatabase()和getWriteableDatabase()方法来获得一个SQLiteDatabase对象,在对象可以允许访问数据库,而不管是在读或写的模式下。

 

 

 

代码:

package com.example.sqllites.dbs;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
/**
*
* @author Lin
* SQLite帮助类
*/
public class sqlite_Persondb extends SQLiteOpenHelper{

/**
* sqlite数据库构造方法,用来定义数据库名称,数据库查询结果集,数据库版本
* super了父类的方法
* @param context:为上下文
*/
public sqlite_Persondb(Context context){
super(context,"lin_Person.db",null,1);
}
/**
* sqlite数据库构造方法,用来定义数据库名称,数据库查询结果集,数据库版本
* @param context 传入上下文参数
* @param name 传入数据库名称
* @param factory 传入游标方式,null为默认格式
* @param version 传入数据库版本,要求1以上,否则会报错
*/
public sqlite_Persondb(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
/**
* 第一次创建数据库调用的方法
* 传入db为被创建的数据库,在这里假定为lin_Person.db
* execSQL创建数据库表内容,忽略大小写。
*/
@Override
public void onCreate(SQLiteDatabase db) {
/**
* 语法:create table 表名(列名 类型 设置主键(可选) 设置自动增长(可选));
* @param primary key 设置主键
* @param autoincrement 自动增长
*/
db.execSQL("create table person(id integer primary key autoincrement,name varchar(20),phoneNum varchar(11))");
}

/**
* 升级数据库
*/

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
  //暂忽略
}

}