前面介绍了Android SDK提供的一系列操作SQLite数据库的API,接下来将针对如何使用上述API操作SQLite数据库进行详细讲解。
(1)创建SQLite数据库
Android系统推荐使用SQLiteOpenHelper的子类创建SQLite数据库,因此需要创建一个类继承自SQLiteOpenHelper,重写onCreate()方法并在该方法中执行创建数据库的命令。具体代码如下:
上述代码中,创建数据库的SQL语句被定义在onCreate()方法中,当数据库第一次被创建时会自动调用该方法,并执行方法中的SQL语句。当数据库版本号增加时会调用onUpgrade()方法,如果版本号不增加,该方法则不会被调用。需要注意的是,创建的数据库被放置在/data/data/<your package name>/database目录下。
(2)增加一条数据
前面介绍了如何创建数据库,接下来以person表为例介绍如何向表中插入一条数据。在操作数据库之前,首先要得到一个可读写的SQLiteDatabase对象,具体代码如下:
上述代码介绍了使用insert()方法将数据库插入到person表中。需要注意的是,第5行代码使用ContentValues类,该类用于放置参数,它的底层是利用Map集合实现的。Key表示插入数据的列名,values表示要插入的数据。
除了上述介绍的方法之外,还有一个方法可以实现该功能,具体代码如下:
与insert()方法不同的是,execSQL()方法的第一个参数表示将要执行的SQL语句,并用占位符表示参数,第二参数表示占位符对应的参数,后面将要讲解的修改数据,删除数据都可以通过该方法完成,只需要修改相应的SQL语句即可。
(3)修改一条数据
接下来介绍如何使用SQLiteDatabase的uqdate()方法修改person表中的数据,具体代码如下:(www.daowen.com)
上述代码讲解了如何向person表中修改一条数据,需要注意的是,使用完SQLite-Database对象后一定要关闭,否则数据库连接会一直存在,会不断消耗内存,并且会报出数据库未关闭异常,当系统内存不足时将获取不到SQLiteDatabase对象。
(4)删除一条数据
下面介绍如何使用SQLiteDatabase的delete()方法删除pesron表中的数据,具体代码如下:
需要注意的是,删除数据不同于增加和修改数据,删除数据时不需要使用ContentValues来添加参数,而是使用一个字符串和一个字符串数组来添加数组参数和参数值。
(5)查询一条数据
查询数据首先要获得一个可读的SQLiteDatabase对象。SQLiteDatabase提供两个用于查询数据的方法,一个是rawQuery(),另一个是query()。下面讲解通过query()方法查询数据,具体代码如下:
上述代码介绍了使用query()方法查询person表中的数据,接下来介绍使用raw-Query()方法查询数据,具体代码如下所示:
与前面介绍的增、删、改操作的不同之处是,前面三个的操作都可以用execSQL()方法执行SQL语句,而这里却使用rawQuery。这是因为查询数据库会返回一个结果集Cursor而execSQL()方法没有返回值。
需要注意的是,在使用完Cursor对象时,一定要将其及时关闭,否则会造成内存泄露。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。