博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Andoid数据存储之SQLite数据库
阅读量:5825 次
发布时间:2019-06-18

本文共 1828 字,大约阅读时间需要 6 分钟。

SQLite是一个嵌入式的并且是一个轻量级的数据库;

SQLite数据库支持大部分SQL语法, 允许使用SQL语句操作数据库, 其本质是一个文件, 不需要安装启动;

SQLite数据库打开只是打开了一个文件的读写流, 如果有大数据量读写, 需要高并发存储, 那么就不应该使用SQLite;

        Android系统提供了SQLiteDatabase代表一个数据库,一旦应用程序获得了代表指定数据库的SQLiteDatabase对象,接下来就可以通过SQLiteDatabase对象来管理. 操作数据库了。SQLiteDatabase对象也为我们提供了一些方法来操作数据库:

execSQL(String sql)    执行一条SQL语句,没有返回值execSQL(String sql,Object[] bindArgs) 执行带占位符的SQL语句,没有返回值insert(String table,String nullColumnHack,ContentValues  values)    插入一条记录update(String table,ContentValues values,String whereClause,String[]  whereArgs)    修改记录delete(String table,String whereClause,String[]  whereArgs)    删除一条记录query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy)    查询一条记录query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy,String limit) 执行查询,limit用于控制最多查询几条记录query(boolean  distinct,String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy,String limit)执行查询,distinct是控制是否去除重复值rawQuery(String sql,String[] selectionArgs) 执行带占位符的sql查询,带返回值beginTransaction();  开始事务endTransaction();  结束事务close()    关闭数据库

        上面的查询方法都返回一个Cursor对象,Android中的Cursor类似于JDBC的ResultSet,Cursor同样提供了如下方法来移动查询结果的记录指针.Cursor游标常用方法:

getCount()    获得总的数据项数isFirst()    判断是否第一条记录isLast()    判断是否最后一条记录moveToFirst()    移动到第一条记录moveToLast()    移动到最后一条记录move(int offset)    移动到指定记录moveToNext()    移动到下一条记录moveToPrevious()    移动到上一条记录getColumnIndexOrThrow(String  columnName)    根据列名称获得列索引getInt(int columnIndex)    获得指定列索引的int类型值getString(int columnIndex)    获得指定列缩影的String类型值

        在实际开发中采用SQLiteDatabase的方法打开数据库十分烦琐,所以android为我们提供了SQLiteOpenHelper帮助类。通常都会继承SQLiteOpenHelper开发子类,并通过该子类的getReadableDatabase()  getWritableDatabase()方法打开数据库。 

下面通过一个实例来说明SQLiteOpenHelper帮助类的具体操作:

 

转载地址:http://axidx.baihongyu.com/

你可能感兴趣的文章
php生成word,并下载
查看>>
紫书 习题8-11 UVa 1615 (区间选点问题)
查看>>
asp.net mvc学习(Vs技巧与Httpcontext)
查看>>
float数据在内存中是怎么存储的
查看>>
dedecms 修改标题长度可以修改数据库
查看>>
Matplotlib学习---用matplotlib画直方图/密度图(histogram, density plot)
查看>>
MySQL案列之主从复制出错问题以及pt-slave-restart工具的使用
查看>>
linux 查看剩余内存数
查看>>
测试人员容易遗漏的隐藏缺陷
查看>>
maven+SpringMVC搭建RESTful后端服务框架
查看>>
[BalkanOI2016]Cruise
查看>>
一本书的摘录
查看>>
重排序(转载)
查看>>
python+selenium之字符串切割操作
查看>>
串结构练习——字符串匹配
查看>>
linux下输入密码不回显
查看>>
《构建之法》读书笔记
查看>>
拿下阿里、头条、滴滴的offer后谈谈面试经验---动身前看一看
查看>>
android开发(49) android 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏
查看>>
【ERP】如何在多行数据块中实现仅能勾选唯一的主联系人
查看>>