Android 游标
静下心来,学一下Android的数据库连接。
1.直接从getReadableDatabase()与getWritableDatabase()入手。
--getReadableDatabase()会返回一个只读的数据库对象。 读数据库就用它了。
--getWritableDatabase()返回一个可写的数据库对象。 写数据库就用它了。
区别:用一句话讲,getReadableDatabase()会首先问一下--我可以即读又写吗,如果不能,那我可以读吗?
2.获得游标的代码
try{
SQLiteOpenHelper 对象 =new 该类名的子类也就是目标数据库(this);
SQLiteDatabase db = 对象.getReadableDatabase();
Cursor cursor=db.query("DRINK表名",
new String[]{"NAME列名","DESCRIPTION列名","IMAGE_RESOURCE_ID列名"},
"_id=?",
new String[]{Integer.toString(drinkNo外部传过来的一个整数编号)},
null,null,null //后面三个参数依次是:groupBy,having,orderBy
);
//这里得到了游标,对游标进行处理的代码这里来写
}catch(SQLiteException e){
Toast toast=Toast.makeText(this,"Database unavailable",Toast.LENGTH_SHORT);
}
其实就是通过SQLiteOpenHelper类的子类--目标数据库的一个对象执行getReadableDatabase()函数来产生一个SQLitebase对象db,进而执行db.query(...)
3.要从游标读取记录,首先需要导航到这个记录。
主要有4个主要的方法可以用来在游标包含的记录间导航--moveToFirst()--moveToLast()--moveToPrevious()--moveToNext()
第一个记录 cursor.moveToFirst() 返回true or false
最后一个记录 cursor.moveToLast() 返回true or false
前一个记录 cursor.moveToPrevious() 返回true or false
后一个记录 cursor.moveToNext() 返回true or false
4.获取游标值
比如游标中有这些数据。
name-->"Latte"
description-->"Espresso and steamed milk"
image_resource_id-->5454351
总共3列,你想得到name列的值。 String name==cursor.getString(0);
然后你想得到image_resesource列的值。 int imageResource=cursor.getInt(2);
5.关闭游标和数据库
游标关闭--cursor.close();
数据库关闭--db.close();
6.实际操作
主要在活动中的oncreate方法中,查询数据库返回一个游标cursor,然后通过if判断游标位置是否存在,里面就具体操作UI界面了,也就是使用游标中的数据填充视图。
7.注意点
在oncreate()方法的结尾,注意要close游标和数据库。
在最后的catch()中,要用Toast向用户显示一个消息。
晚安。2017-7-7 0:22
Android 游标的更多相关文章
- Android 隐式意图的配置
本文地址:http://www.cnblogs.com/wuyudong/p/5677473.html,转载请注明源地址. <Android 显示意图激活另外一个Actitity>一文介绍 ...
- Android开发–Intent-filter属性详解
Android开发–Intent-filter属性详解 2011年05月09日 ⁄ Andriod ⁄ 暂无评论 ⁄ 被围观 1,396 views+ 如果一个 Intent 请求在一片数据上执行一个 ...
- intent Filter
intent Filter 一.介绍 如果一个 Intent 请求在一片数据上执行一个动作, Android 如何知道哪个应用程序(和组件)能用来响应这个请求呢? Intent Filter就是 用来 ...
- Activity及Intent
1.Activity 在一个Android应用程序中,Activity是为用户操作而展示的可视化界面.比如你要打电话,这个时候的拨号界面就是一个Activity,你要发短信给你的女朋友,这个短信窗口就 ...
- Android中Cursor(游标)类的概念和用法
使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader.今天特地将它单独拿出来谈, ...
- Android学习系列(15)--App列表之游标ListView(索引ListView)
游标ListView,提供索引标签,使用户能够快速定位列表项. 也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧. 一看图啥都懂了: 1. ...
- Android开发 ---SQLite数据库,lock文件,结果集游标,适配器,安全退出,给连接设置下划线,编辑器,投影,ContentValues存储,DbHelper,activity栈
目录截图: 1.activity_main.xml 主界面效果: <?xml version="1.0" encoding="utf-8"?> &l ...
- android开发之数据库游标未关闭导致
replacements=[Ljava.lang.String;@4192fea8HARDWARE=hw7d501lmatchers=[Ljava.lang.String;@4192fe28RADIO ...
- android开发时使用游标时一定要关闭
原代码如下: places = getPlaceDatas(context, cursor); cursor.close(); 应改为: try{ places = getPlaceDatas(con ...
随机推荐
- css3实现iPhone滑动解锁
该效果的主要实现思路是给文字添加渐变的背景,然后对背景进行裁剪,按文字裁剪(目前只有webkit内核浏览器支持该属性),最后给背景添加动画,即改变背景的位置,背景动画效果如下(GIF录制时有卡顿,代码 ...
- cocos2d-x滑动翻页,多出一点偏移量。
cocos2d-x 2.2.3版本. 控件:ccscrollView 实现滑动翻页:创建出来的cell横向移动时会有一个惯性滑动,导致View页面不能居中.通过延迟重新设定的方式解决.
- Qt开发北斗定位系统融合百度地图API及Qt程序打包发布
Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...
- 用HttpSessionListener统计在线用户或做账号在线人数管理
使用HttpSessionListener接口可监听session的创建和失效 session是在用户第一次访问页面时创建 在session超时或调用request.getSession().inva ...
- sql分组数据去重
#分组获得每个机柜里服务器占用的机架总数,如552807e6-b428-4184-b219-ae368c68ddb3占用4个 mysql> select cabinet_uuid, count( ...
- HTML5 data-* 自定义属性操作及其注意点
在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,命名可以用驼峰命名方式,但取值是必需全部使用小写(后面会说),使用这样的结构可以进行数 ...
- ubuntu16.04安装中文输入法(转)
转自: https://zhidao.baidu.com/question/619127469641961052.html ubuntu没有预装中文输入法,需要自己安装 sudo apt instal ...
- FTP无法连接可能是安全狗设置的原因
防火墙已添加某端口,但仍无法连接.可能是安全狗导致的. 如果安装了安全狗,请按照以下步骤设置:
- Linux MySQL单实例源码编译安装5.6
cmake软件 tar -zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./bootstrap make make install cd ../ 依赖包 ...
- hdu-1892 See you~---二维树状数组运用
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 题目大意: 题目大意:有很多方格,每个方格对应的坐标为(I,J),刚开始时每个格子里有1本书, ...