转载请标明是引用于 http://blog.csdn.net/chenyujing1234
例子代码:
http://www.rayfile.com/zh-cn/files/d0b92454-889b-11e1-8153-0015c55db73d/
什么是SQLiteDatabase?
一个SQLiteDatabase的实例代表一个SQLite的数据库,通过SQLiteDatabase实例的一些方法,我们可以执行SQL语句。
对数据库进行增、删、查、改的操作。
什么是SQLiteOPenHelper?
这个类是一个抽象类,它主要生成一个数据库并对数据库进行管理,当调用这个方法getWriableDatabase()或getReadableDatabase()时,
如果当时没有数据,那么Androi系统会自动生成一个数据库。
它是一个抽象类,要实现三个函数:
onCreate // 在数据库第一次生成时调用这个方法,一般我们在这里边生成数据库表。
onUpgrade //当数据库需要升级时,Android系统会主动的调用这个方法,一般我们在这里边删除数据,并建立新的数据表。
onOpen // 这是当打开数据库时的回调函数,一般也不会用到
private static class DatabaseHelper extends SQLiteOpenHelper{ DatabaseHelper(Context context){ super(context, DATABASE_NAME, null, DATABASE_VERSION); } // 在数据库第一次生成时调用这个方法,一般我们在这里边生成数据库表。 @Override public void onCreate(SQLiteDatabase db) { // 为我们生成一张数据库表 String sql = "CREATE TABLE " + TABLE_NAME + " (" + TITLE + " text not null, " + BODY + " text not null " + ");"; Log.i("haiyang:createDB=", sql); db.execSQL(sql); } //当数据库需要升级时,Android系统会主动的调用这个方法,一般我们在这里边删除数据,并建立新的数据表。 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
/* * 插入两条数据 */ private void insertItem() { // 得到一个可写的数据库,如果此数据库已建立,那么直接返回一个可写的数据库 SQLiteDatabase db = mOpenHelper.getWritableDatabase(); String sql1 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY + ") values('haiyang', 'android的发展真是迅速啊');"; String sql2 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY + ") values('icesky', 'android的发展真是迅速啊');"; // 这样可增加程序的健壮性。 try { // 打印内容到日志中,并且打印级别是info级别 // Android 支持5种打印级别,分别是Verbose、Debug、Info、Warning、Error。 // 我们在程序中一程用到的是Info级别。 Log.i("haiyang:sql1=", sql1); Log.i("haiyang:sql2=", sql2); // 对语句进行执行。 db.execSQL(sql1); db.execSQL(sql2); setTitle("插入两条数据成功"); } catch (SQLException e) { setTitle("插入两条数据失败"); } }
查看Log.打印的方法是:
Windows->Show View->Other->Androi::LogCat