在前面的一篇文章中,我给大家介绍了SQLite这样一个开源、免费的数据库,并给出了C#ADO.Net模式下的代码。其实,不只是在C#中可以使用SQLite,在Android中同样提供了SQLite并作为整个系统的数据库供大家使用,考虑到数据库在实际开发中的重要性,所以,我们今天就来学习Android中SQLite的用法。数据库的操作无外乎增加、删除、修改、更新四种操作。在Android中,我们可以使用原生的SQL和Android封装好的接口对SQLite进行操作,我们选择后一种,使用Android封装好的接口,要使用该接口,我们必须继承一个称为SQLiteOpenHelper的辅助类。下面我们来看代码:
package com.Android.SQLiteHelper; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DataBaseHelper extends SQLiteOpenHelper { //数据库名 private final static String DataBaseName="Students.db"; //数据表名 private final static String DataTableName="Student"; //创建数据表SQL语句 private final static String CreateTable="CREATE TABLE Student(id integer primary key autoincrement,name text,age text,sex text)"; //构造函数 public DataBaseHelper(Context c) { super(c, DataBaseName, null, 1); } //创建数据表 @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CreateTable); } //插入数据 public void Insert(ContentValues values) { SQLiteDatabase db = getWritableDatabase(); db.insert(DataTableName, null, values); db.close(); } //请求数据,参数依次为数据表名,待查询关键字,查询表达式,查询表达式值,排序字段 //这个方法用起来还有点问题,暂时注释掉,等解决了再告诉大家 //public Cursor Query(String TableName,String[] KeyWords,String Express,String[] ExpressArgs,String OrderBy) public Cursor Query() { SQLiteDatabase db = getWritableDatabase(); Cursor c = db.query(DataTableName, null, null, null, null, null, null); return c; } //删除数据 public void Delete(String TableName,String Express,String[] ExpressArgs) { SQLiteDatabase db = getWritableDatabase(); db.delete(TableName, Express, ExpressArgs); db.close(); } //使用原生的SQL public void ExecSQL(String SQLString) { SQLiteDatabase db = getWritableDatabase(); db.execSQL(SQLString); } //更新数据库 @Override public void onUpgrade(SQLiteDatabase db, int Last, int Now) { //暂时不用,所以不写,如果需要,就是删除旧表,创建新表的过程 } }