Android应用数据存储几种方式(2)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 16:24:25
Android应用数据存储几种方式(2)
Android应用数据存储几种方式(2)
Android应用数据存储几种方式(2)
SQLite 是Android 所带的一个标准的数据库,它支持SQL 语句,它是一个轻量级的嵌入式数据库.
一个 SQLiteDatabase 的实例代表了一个SQLite 的数据库,通过SQLiteDatabase 实例的一些方法,我们可以执行SQL 语句,对数据库进行增,删,查,改的操作.需要注意的是,数据库对于一个应用来说是私有的,并且在一个应用当中,数据库的名字也是惟一的.
根据这名字,我们可以看出这个类是一个辅助类.这个类主要生成一个数据库,并对数据库的版本进行管理.当在程序当中调用这个类的方法getWritableDatabase(),或者getReadableDatabase()方法的时候,如果当时没有数据,那么Android 系统就会自动生成一个数据库.SQLiteOpenHelper 是一个抽象类,我们通常需要继承它,并且实现里边的3 个函数,具体函数如下所示:
onCreate(SQLiteDatabase):在数据库第一次生成的时候会调用这个方法,一般我们在这个方法里边生成数据库表.
onUpgrade(SQLiteDatabase,int,int) :当数据库需要升级的时候,Android 系统会主动的调用这个方法.一般我们在这个方法里边删除数据表,并建立新的数据表,当然是否还需要做其他的操作,完全取决于应用的需求.
另外我们在进行查询的时候后调用这句代码:
Cursor cur = db.query(TABLE_NAME,col,null,null,null,null,null);
下面对里面的参数进行一下说明:
第一个参数是数据库里边表的名字,比如在我们这个例子,表的名字就是TABLE_NAME,也就是"diary".
第二个字段是我们想要返回数据包含的列的信息.在这个例子当中我们想要得到的列有title、body.我们把这两个列的名字放到字符串数组里边来.
第三个参数为selection,相当于sql 语句的where 部分,如果想返回所有的数据,那么就直接置为null.
第四个参数为selectionArgs.在selection 部分,你有可能用到?,那么在selectionArgs 定义的字符串会代替selection 中的?.