花了2天时间,系统学习了下Android开发过程中使用的轻量级数据库SQLite的使用。并掌握其增,删,该,查的基本数据库操作。
首先要使用SQLite数据库,需要通过Android系统提供的SQLiteOpenHelper的帮助类,通过这个类我们可以得到一个SQLite数据库。因此我们需要创建一个类继承SQLiteOpenHelper这个类,然后实现它的onCreate()和update()方法。 我在我的welthy.myDB包中所创建的基础帮助类的类 只实现onCreate()和update()方法。具体的增,删,改,查操作我另外创建了一个类实现。 所以这里的数据库初始化部分也放在了 操作实现的类中。 对于实现帮助类的代码如下:
实现了帮助类后 我便可以创建数据库,并对数据库进行一系列的操作。
首先进行数据库的初始化部分:
在进行初始化之前首先要得到SQLiteDatabase的对象和实现SQLiteOpenHelper帮助类的对象(即:DBmanager)。然后再数据库操作实现类DBways类的构造函数中创建数据库。如果仅仅是dbHelper=new DBmanager(context,name);的话是无法得到数据库的,还有通过dbHelper.getWriteable()【需要对数据库编辑时】或者dbHelper.getReadable();【只读取数据库时】。通过这2个函数才可以得到一个数据库。然后通过ContentValues类给数据库的内容进行初始化【也可以不初始化,此时就是一个空数据库】。然后调用insert("表名",null,values)将初始化的值添加进数据库。
初始化后,首先说明下添加数据操作。
这里我定义的函数为:insert(String Pname,int Pid);具体实现内容和初始化添加数据时一样都是调用db【即 SQLiteDatabase的对象】的insert(。。。)函数。具体代码如下:
主函数中直接调用就可以。
然后说明删除数据操作。
这里我定义的函数有2个一个是根据关键字删除,一个是删除数据库所有数据。调用的是db.delete("表名","删除条件","删除条件中的参数【即删除条件中?号的值】");
其中根据关键字删除的是deleteKey(String name);实现代码如下:
删除所有数据就是删除条件为null的情况。实现代码如下:
接着,说明下查询操作。
这里利用Cursor类来搜集查询结果集。这里调用的是rawQuery函数,这个函数是可以直接通过SQL语句进行查找操作。然后结果放入Cursor的对象cursor中。
当然,也可以使用query()函数,这个函数不需要熟悉SQL语句的操作,但同样返回的是cursor类型值。 实现代码如下:
这里得到cursor结果集之后,则可以通过Cursor类的方法对结果进行查询,首先将cursor游标放在第一行cursor.moveToFirst(),然后进入一个循环,只要下一行还有数据,则通过cursor.getString(字段下标【0开始】)以字符串的形式得到数据。直到下一行没有数据为止。
最后,说明下修改操作。
这里我同样定义了2个函数,因为我的字段就只有name和 id 2个。所以,可以根据一个字段修改同一行的另一个字段值。同样是通过ContentValues类得到修改后的数据,然后通过db.update("表名",更新的值,更新条件,更新条件参数)。来修改数据。
首先是修改name字段的函数editName(String name,int id)。具体实现代码如下:
然后是修改id字段的函数editId(String name,int id)。 具体实现代码如下:
具体的4种操作如上所述。如有疑问,欢迎探讨。