程序开发离不开数据库,数据库作为一种不可或缺的存储技术,同样的,在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的各种操作,实现起来非常方便。