静下心来,学一下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 游标的更多相关文章

  1. Android 隐式意图的配置

    本文地址:http://www.cnblogs.com/wuyudong/p/5677473.html,转载请注明源地址. <Android 显示意图激活另外一个Actitity>一文介绍 ...

  2. Android开发–Intent-filter属性详解

    Android开发–Intent-filter属性详解 2011年05月09日 ⁄ Andriod ⁄ 暂无评论 ⁄ 被围观 1,396 views+ 如果一个 Intent 请求在一片数据上执行一个 ...

  3. intent Filter

    intent Filter 一.介绍 如果一个 Intent 请求在一片数据上执行一个动作, Android 如何知道哪个应用程序(和组件)能用来响应这个请求呢? Intent Filter就是 用来 ...

  4. Activity及Intent

    1.Activity 在一个Android应用程序中,Activity是为用户操作而展示的可视化界面.比如你要打电话,这个时候的拨号界面就是一个Activity,你要发短信给你的女朋友,这个短信窗口就 ...

  5. Android中Cursor(游标)类的概念和用法

    使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生,如果你是搞.net 开发你大可以把Cursor理解成 Ado.net 中的数据集合相当于dataReader.今天特地将它单独拿出来谈, ...

  6. Android学习系列(15)--App列表之游标ListView(索引ListView)

    游标ListView,提供索引标签,使用户能够快速定位列表项.      也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧.      一看图啥都懂了: 1. ...

  7. Android开发 ---SQLite数据库,lock文件,结果集游标,适配器,安全退出,给连接设置下划线,编辑器,投影,ContentValues存储,DbHelper,activity栈

    目录截图: 1.activity_main.xml 主界面效果: <?xml version="1.0" encoding="utf-8"?> &l ...

  8. android开发之数据库游标未关闭导致

    replacements=[Ljava.lang.String;@4192fea8HARDWARE=hw7d501lmatchers=[Ljava.lang.String;@4192fe28RADIO ...

  9. android开发时使用游标时一定要关闭

    原代码如下: places = getPlaceDatas(context, cursor); cursor.close(); 应改为: try{ places = getPlaceDatas(con ...

随机推荐

  1. 解决 MVC4 Code First 数据迁移 数据库发生更改导致调试失败解决方法(二)

    文章转载自:http://www.cnblogs.com/amoniyibeizi/p/4486617.html 前几天学MVC过程中,遇到更改Model类以后,运行程序就会出现数据已更改的问题导致调 ...

  2. 《ArcGIS Runtime SDK for Android开发笔记》——翻译:ArcGIS Runtime SDK for Android 10.2.7发布

    ArcGIS Runtime SDK for Android v10.2.7 released by Dan O'Neill on October 1, 2015(发布时间:2015年10月1日) W ...

  3. SpringCloud的学习记录(5)

    这一章节讲如何使用ribbon和hystrix. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Arti ...

  4. python模块详解 sys shutil

    sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sy ...

  5. html+javascript+soap获取webservice免费天气预报信息

    转自:http://blog.163.com/hubeimeiyu@126/blog/static/8004881020118303318687/ 首先,也是最重要的是互联网上免费的天气预报源:htt ...

  6. ubuntu查看nvidia显卡状态

    nvidia-smi 连续查看显卡状态 sudo watch nvidia-smi

  7. Selenium入门系列2 窗口大小控制

    selenium控制窗口最大化.适合手机的宽度.适合pad的宽度等尝试下实例,网站是否做了响应式布局 #coding=utf-8 # 改变浏览器窗口大小.前进后退 from selenium impo ...

  8. Uva 11806 拉拉队

    题目链接:https://uva.onlinejudge.org/external/118/11806.pdf 题意: n行m列的矩阵上放k个棋子,其中要求第一行,最后一行,第一列,最后一列必须要有. ...

  9. python 添加 threadpool

    操作系统: Ubuntu 10.04 python安装依赖的软件包: python 出现 ImportError: No module named ** 我这里出现了: ImportError: No ...

  10. 在IDEA中创建Maven项目和添加tomcat

    IDEA中创建是一种创建maven项目的办法,但不推荐,因为没有使用统一的骨架,可以一开始就选择创建maven项目,步骤如下: 第一步 第二步:设置项目 第三步:进行配置好maven,加上 arche ...