在开发Android项目中,我们可以根据项目的需要选择合适的数据库,Android自带的SQLite数据库是一个轻量级的数据库,提供有SQLiteDatabase类、SQLiteOpenHelper类、Cursor接口和ContentValues类来对其进行操作,下面我们对各个类或接口的方法进行讲解。
1、SQLiteDatabase类提供的创建或打开数据库的静态方法,以及可以对数据库进行增、删、改、查等操作:
openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags)----打开或创建数据库
path----指定路径的数据库文件
factory----构造查询时返回的Cursor对象
flags----打开的模式,有OPEN_READONLY(只读模式)、OPEN_READWRITE(可读可写)、CREATE_IF_NECESSARY(当数据库文件不存在时,创建该数据库)
openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory)----相当于上面方法的第三个参数取值:CREATE_IF_NECESSARY
create(SQLiteDatabase.CursorFactory factory)----创建一个内存数据库
execSQL(String sql)----执行一条SQL语句
close()----关闭数据库
insert(String table,String nullColumnHack,ContentValues values)----往指定的table表中增加一条记录
table----数据表名称
nullColumnHack----指定空列的默认值,当某个字段未赋值时,该字段取默认值
values----封装了列名和列值的Map对象
delete(String table,String whereClause,String whereArgs[ ])----删除指定的table表中一条记录
whereClause----删除的条件
whereArgs----删除条件值数据,数组的值于取代删除条件中的问号
update(String table,ContentValues values,String whereClause,String whereAgrs[ ])-----更新指定表中的一条记录
query(String table,String[ ] columns,String selection,String[ ] selectionArgs,String groupBy,String having,String orderBy)----查询记录,返回一个Cursor实例
columns-----需要查询出来的列名数组
selection----条件子句,相当于where
selectionArgs----条件子句,where的值数组
groupBy----分组的列名
having----分组的条件
orderBy----排序的列名
2、SQLiteOpenHelper类中提供onCreate(SQLiteDatabase db)和onUpdate(SQLiteDatabase db,int oldVersion,int newVersion)两个重要的方法
onCreate(SQLiteDatabase db)----在数据库第一次生成时调用
onUpdate(SQLiteDatabase db,int oldVersion,int newVersion)----当数据库需要升级时,系统自动调用该方法
getReadableDatabase()----创建或打开一个只读数据库
getWritableDatabase()----创建或打开一个读写数据库
3、Cursor接口的常用方法和说明
getCount()----游标结果集的总记录条数
isFirst()----判断是否第一条记录
isLast()----判断是否最后一条记录
move(int offset)----移动到指定的记录
moveToFirst()----移动到第一条记录
moveToLast()----移动到最后一条记录
moveToNext()----移动到下一条记录
moveToPrevious()----移动到上一条记录
getColumnIndexOrThrow(String columnName)----根据列名获得列索引
getInt(int columnIndex)----根据列索引获取int类型值
getString(int columnIndex)----根据列索引获取String类型值
你可能感兴趣的文章
转载请注明出处: https://www.teachcourse.cn/343.html ,谢谢支持!