不管是做winform的还是web的,都难免要和数据库打交道。这次我们就来探讨一下如何在MonoDroid里使用手机上的Portable数据库SQLite。数据库不外乎就是CRUD(增删改查)操作,我们来设计一个简单的数据库来放置备忘录,提醒用户还有哪些工作事项。
我们使用Menu来做数据库的增,改,删,同时搭配ListView用以查处已经增加的记录,用一个EditText作为新增或修改的录入框。
在Layout目录下新建一个ListItem.axml布局文件,用于ListView中的项的布局:
为了创建及访问数据库,我们新建一个类MySQLiteHelper,继承SQLiteOpenHelper抽象类,重写OnCreate及OnUpgrade方法,当数据库创建时,会调用OnCreate,所以可将要添加的数据库表写在里面。当更新数据库时,会调用OnUpgrade,所以可将要更新表的sql语句写在里面,同时增加增、删、改、查四个方法以供外部调用:
在Activity1中添加三个menu作为新增,修改和删除,在Menu的点击选择事件ItemSelected中调用MySQLiteHelper来访问数据库,当单击ListView时,可将选择的数据带入上方的EditText做修改,做完增删改操作后,立即更新下方的ListView。若EditText里的值为空时,则不添加到数据库。
使用SimpleCursorAdapter来做ListView的adapter,将Cursor及要显示的字段名称传入,就会产生想要显示的数据的ListView。另外值得注意的一点是,使用SimpleCursorAdapter所设计的数据表一定要有_id这个字段名称,否则会抛出“找不到_id字段”的异常。