程序开发离不开数据库,数据库作为一种不可或缺的存储技术,同样的,在Android中也为我们提供了数据库支持,使用的是SQLite数据库系统。
SQLite是一种轻型数据库系统,并以嵌入式为设计目标,占用资源低,因此作为手机操作系统优秀的数据库系统选择平台。
SQLite的使用涉及两个重要的类,一个是SQLiteOpenHelper和SQLiteDatabase,SQLiteOpenHelper是SQLite的数据库辅助类,而SQLiteDatabase作为SQLite的数据库实体类,用于管理数据库增删改查等操作,下面我们详细解析SQLite的具体使用方法。
public class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) {
super(context, name, cursorFactory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建数据库后,对数据库的操作
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更改数据库版本的操作
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
// 打开数据库后首先被执行
}
}
让DatabaseHelper继承SQLiteOpenHelper,分别覆盖onCreate、onUpgrade和onOpen方法,这样在数据库的具体操作的时候,我们可以轻易获取数据库实例对象,具体应用我们继续分析以下代码,我们先来创建数据库。
private static final String DATABASE_NAME = "ataawcom.db"; //定义数据库名称
private static final int DATABASE_VERSION = 1;//定义数据库版本
private static final String TABLE_NAME = "ataaw";//定义数据表名称
DatabaseHelper dbHelper = new DatabaseHelper(this, DATABASE_NAME, null,
DATABASE_VERSION);//通过DatabaseHelper定义数据库创建数据表:
创建数据表:
void CreateTable() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME
+ " (ID INTEGER PRIMARY KEY, Name VARCHAR, Password VARCHAR);";
try {
db.execSQL(sql);
} catch (SQLException ex) {//异常处理
}
}
插入数据信息:
private void insert() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
try {
String sql = "insert into " + TABLE_NAME
+ " (name, age) values (‘ATAAW’,'ATAAW.COM’)";
db.execSQL(sql);//执行指定的 sql
} catch (SQLException ex) {
txtMsg.setText("插入数据失败\n" + ex.toString() + "\n");
}
}
删除数据:
private void delete() {
try {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete(TABLE_NAME, " id=1", null);
} catch (SQLException e) {//异常处理
}
}
更新数据信息:
private void update() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put("name", "ataaw.com");
db.update(TABLE_NAME, values, "id<=?", new String[] { "3" });
} catch (SQLException e) {//异常处理
}
}
删除数据表:
private void dropTable() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;
try {
db.execSQL(sql);
} catch (SQLException ex) {//异常处理
}
}
有以上实例可以完成Android平台下数据库SQLite的基本数据库操作方法,我们可以看出与其他数据库操作的方法基本一样,通过SQL命令语句即可完成SQLite的各种操作,实现起来非常方便。