日期:2014-05-16 浏览次数:20635 次
在上一个例子中,我们对Android系统自带的SQLite数据库进行了初步的学习,了解了一些增、删、改、查的基本工作。在这一节的例子当中,我们做了一个非常简便的日记本程序,虽然没有完善,但是已经是基本可以使用了。在例子当中,我们不但要对数据库进行增、删、改、查的操作,而且还要把数据库当中的数据显示在一个ListView当中,通过对ListView的操作,实现对数据的增、删、改、查操作。
通过这个例子我们可以学到以下操作:
如何对DatabaseHelper和SQLiteDatabase封装,以便让我们访问数据库更加方便和安全;
如何利用ContentValues类来代替原始的SQL语句进行数据库的操作;
如何使用SimpleCursorAdapter类和ListView配合进行ListView的显示。
日记本具体实现步骤如下所述。
1.第一步
在Eclipse中打开ex08_2_SQLite 项目,具体操作步骤如下。
新建一个项目。单击File→New→Android Project项。
在新建项目的对话框中,选择Create project from existing source项。
单击浏览,找到ex08_2_SQLite项目,然后单击确定。
程序的目录结构如图8-16所示。
2.第二步
我们首先运行一下建立的程序,将会出现如图8-17所示。
? |
(点击查看大图)图8-16? 程序的目录结构 |
? |
(点击查看大图)图8-17? 没有任何数据的程序主界面 |
程序的主Activity是ActivityMain,它是一个ListActivity,和它关联的布局文件是diary_list.xml。关于ListActivity的介绍。请参阅第7章关于ListView的介绍。
3.第三步
在继续操作前,让我们重点关注一下DiaryDbAdapter类,这个类封装了DatabaseHelper和SQLiteDatabase类,使得我们对数据库的操作更加安全和方便。
在DiaryDbAdapter的类变量里,主要定义了以下几个变量:
数据库、数据表、数据表中列的名字;
DatabaseHelper 和SQLiteDatabase的实例;
Context 实例。
DatabaseHelper 类的定义和上一个例子一样,只不过这个例子里边,我们在onUpgrade增加了升级的代码,具体如下所示:
- private?static?class?DatabaseHelper?extends?SQLiteOpenHelper?{ ?
- ?
- ?????????DatabaseHelper(Context?context)?{ ?
- ?????????????super(context,?DATABASE_NAME,?null,?DATABASE_VERSION); ?
- ?????????} ?
- ?
- ?????????@Override?
- ?????????public?void?onCreate(SQLiteDatabase?db)?{ ?
- //生成数据库 ?
- ????????????db.execSQL(DATABASE_CREATE); ?
- ?
- ?????????@Override?
- ?????????public?void?onUpgrade(SQLiteDatabase?db,? int?oldVersion,?int?newVersion)?{ ?
- ?????????????db.execSQL("DROP?TABLE?IF?EXISTS?diary"); ?