Android学习(二)(初学)SQLite存储方式

来源:互联网 发布:手机跑团软件 编辑:程序博客网 时间:2024/06/07 06:45

 转载请标明是引用于 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);    }        // 在数据库第一次生成时调用这个方法,一般我们在这里边生成数据库表。    @Overridepublic 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系统会主动的调用这个方法,一般我们在这里边删除数据,并建立新的数据表。    @Overridepublic 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