首页 > 其他分享 >3.18

3.18

时间:2024-03-18 23:11:50浏览次数:26  
标签:3.18 cursor cur getColumnIndex Cursor null name

Button query=(Button) findViewById(R.id.query_data);
 2         query.setOnClickListener(new OnClickListener(){
 3 
 4             @Override
 5             public void onClick(View v) {
 6                 SQLiteDatabase db=dbHelper.getWritableDatabase();
 7                 //查询Book表中的所有的数据
 8                 //Cursor cursor=db.query("Book", null, null, null, null, null, null);
 9                 Cursor cursor=db.rawQuery("Select * from Book", null);
10                 if(cursor.moveToFirst()){
11                     do{
12                         //遍历Cursor对象,取出数据并打印
13                         String name=cursor.getString(cursor.getColumnIndex("name"));
14                         String author=cursor.getString(cursor.getColumnIndex("author"));
15                         int pages=cursor.getInt(cursor.getColumnIndex("pages"));
16                         double price=cursor.getDouble(cursor.getColumnIndex("price"));
17                         Log.d("MainActivity","book name is"+name);
18                         Log.d("MainActivity","book author is"+author);
19                         Log.d("MainActivity","book pages is"+pages);
20                         Log.d("MainActivity","book price is"+price);
21                     }while(cursor.moveToNext());
22                 }
23                 cursor.close();
24             }
25         });
复制代码

访问 Cursor 的下标获得其中的数据

int nameColumnIndex = cur.getColumnIndex(People.NAME);
String name = cur.getString(nameColumnIndex);
现在让我们看看如何循环 Cursor 取出我们需要的数据

while(cur.moveToNext()) {
    //光标移动成功

   String email = cursor.getString(cursor.getColumnIndex(RuiXin.EMAIL));

   startManagingCursor(cursor);  //查找后关闭游标 
   //把数据取出
}


     当cur.moveToNext() 为假时将跳出循环,即 Cursor 数据循环完毕。

     如果你喜欢用 for 循环而不想用While 循环可以使用Google 提供的几下方法:

·isBeforeFirst()——返回游标是否指向之前第一行的位置
·isAfterLast()——返回游标是否指向第最后一行的位置
·isClosed()——如果返回 true 即表示该游戏标己关闭
有了以上的方法,可以如此取出数据

for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext())
{
    int nameColumn = cur.getColumnIndex(People.NAME);
    int phoneColumn = cur.getColumnIndex(People.NUMBER);
    String name = cur.getString(nameColumn);
    String phoneNumber = cur.getString(phoneColumn);
}

Tip:在Android 查询数据是通过Cursor 类来实现的。当我们使用 SQLiteDatabase.query()方法时,就会得到Cursor对象, Cursor所指向的就是每一条数据。

Cursor 位于 android.database.Cursor类,可见出它的设计是基于数据库服务产生的。

以上转自:http://blog.sina.com.cn/s/blog_618199e60101fskp.html

 

另:Activity.startManagingCursor方法:

将获得的Cursor对象交与Activity管理,这样Cursor对象的生命周期便能与当前的Activity自动同步,省去了自己对Cursor的管理。

1.这个方法使用的前提是:游标结果集里有很多的数据记录。

所以,在使用之前,先对Cursor是否为null进行判断,如果Cursor != null,再使用此方法 2.如果使用这个方法,最后也要用stopManagingCursor()来把它停止掉,以免出现错误。 3.使用这个方法的目的是把获取的Cursor对象交给Activity管理,这样Cursor的生命周期便能和Activity自动同步,省去自己手动管理。

标签:3.18,cursor,cur,getColumnIndex,Cursor,null,name
From: https://www.cnblogs.com/wcy1111/p/18081744

相关文章

  • 3.18 记账本的bug修复
    我的记账本不论支出还是收入点进去都是支出的界面,因为能力不足经过排查好久才发现问题先来看源代码import{CommonConstants}from'../../common/constants/CommonConstants'importItemModelfrom'../../model/ItemModel'importRecordItemfrom'../../viewmodel/Recor......
  • PTA 打卡 3.18
    7-1新胖子公式#include<bits/stdc++.h>usingnamespacestd;intmain(){floath,w,t;cin>>w;cin>>h;t=w/(h*h);printf("%.1f\n",t);if(t>25.0)cout<<"PANG";elsecout&......
  • q2-生存技能-2024.3.18
    之前相亲的时候那个姑娘(互删微信了)说平时都是在网上买菜直接送到家的,她家是镇上的,我家是村里的,就是说她那边可以打到车,我这边打不到车,不过家里附近有高铁,后来跟着家里送鸡蛋的时候发现拼多多买菜可以送到商店,我就和司机大哥简单聊了两句.我说这个挺方便的还能送到这里,他说是啊,只要......
  • 云原生周刊:Istio 加入 Phippy 家族 | 2024.3.18
    开源项目推荐ko"ko"是一个用于构建和部署Go应用程序的简单、快速的容器镜像构建工具。它适用于那些镜像中只包含单个Go应用程序且没有或很少依赖于操作系统基础镜像的情况(例如没有cgo,没有操作系统软件包依赖)。"ko"在本地机器上通过执行"gobuild"的方式构建镜像,因此不......
  • 【美团3.18校招真题2】
    大厂笔试真题网址:https://codefun2000.com/塔子哥刷题网站博客:https://blog.codefun2000.com/最多修改两个字符,生成字典序最小的回文串提交网址:https://codefun2000.com/p/P1089由于字符串经过修改一定为回文串,且最多修改两次,所以原字符串位置i与对称位置n-i-1不一样的个数最多为2......
  • 【美团3.18校招真题1】
    大厂笔试真题网址:https://codefun2000.com/塔子哥刷题网站博客:https://blog.codefun2000.com/小美剪彩带提交网址:https://codefun2000.com/p/P1088题意:找出区间内不超过k种数字子数组的最大长度使用双指针的方式,用哈希表来统计每个数出现次数。在双指针移动的过程中,动态的维护区间......
  • 3.18 基础案例2.0-定位电话
    基础案例2.0-定位电话简介准备硬件图功能实现1、物联网平台开发2、设备端开发调试物联网应用开发3.1新建‘普通项目’3.2关联产品和设备3.3新建web应用3.4添加组件3.5保存预览简介本案例模拟手机通话功能,主控板上有三个按钮,RST重启按钮、BOOT下载模式按钮、KEY1自定义按钮。KE......
  • PS眼睛糖果滤镜Alien Skin Eye Candy 7 for Mac v7.2.3.189汉化版
    AlienSkinEyeCandy是一款非常流行的Photoshop插件,它提供了许多专业级的效果和滤镜。软件下载:AlienSkinEyeCandy7中文版 以下是该插件的一些特色和推荐理由:丰富的效果和滤镜:AlienSkinEyeCandy提供了超过30种不同的效果和滤镜,包括金属、玻璃、木纹、水晶等等。这......
  • 2023.18 星火认知大模型
    5月6日,科大讯飞正式发布星火认知大模型,宣布对外开放测试,并发布教育、办公、汽车、数字员工四大行业应用成果。星火大模型在通用能力上支持:多风格多任务长文本生成、多层次跨语种语言理解,泛领域开放式知识问答,情景式思维链逻辑推理,多题型可解析数学能力,多功能多语言代码能力。发布......
  • day18(2023.3.18)
    1.ArrayList容器① 运行结果: 2.ArrayList容器② 运行结果: 3.ArrayList容器③ 运行结果: 4.Vector容器 运行结果: 5.LinkedList容器(List标准......