zoukankan      html  css  js  c++  java
  • 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

    既然选择了,便不顾风雨兼程。Just follow yourself.
  • 相关阅读:
    jenkins 配置git
    unittest 出报告 并配合 jenkins,发现有用例错误,但是构建没出现红点 的解决方法
    继承了2个类的使用方法 分别可以调用2个类里面的 方法 和 变量
    让HTMLrunner 报告的子列表都 默认展示出来的 方法(方便发送邮件时可以方便查看)
    Python:删除、增加字典的元素
    类里面变量相互调用的方法
    其他类想使用unittest的断言方法,就import unittest的框架,继承他,使用他里面的方法
    测试用例脚本 测试用例之间变量可以相互用的方法 实例
    测试用例脚本,调用其他模块方法的实例(数据分类 appium 和 selenium 看这里)
    类的继承 讲解
  • 原文地址:https://www.cnblogs.com/Jason-Jan/p/7129193.html
Copyright © 2011-2022 走看看