Android sqlite cursor的遍历实例详解

 更新时间:2021年06月20日 09:15:26   作者:无忧之路  
在本篇内容里小编给大家整理的是一篇关于Android sqlite cursor的遍历的相关实例及知识点,需要的朋友们可以学习下。

查询并获得了cursor对象后,用while(corsor.moveToNext()){}遍历,当corsor.moveToNext()方法调用,如果发现没有对象,会返回false

public List<MMImage> getAll() {
        List<MMImage> list = new ArrayList<MMImage>();
        Cursor c = null;
        try {
            c = database.query(TABLE, null, null, null, null, null, null);
            while (c.moveToNext()) {
                MMImage mmImage = getMMImageFromCursor(c);
                list.add(mmImage);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (c != null) {
                c.close();
            }
        }
        return list;
    }

知识点内容扩展:

写android的时候,涉及到sqlite的知识,所以自己想搞一个Demo学习一下,看了相关的教程和帮助文档,然后开始动手写自己的程序

//1.获取SQLiteDatabase的对象
SQliteDataBase sqlite = SQliteDatabase.openOrCreateDatabase(new File(Environment.getExternalStorageDirectory() + "\testDB"),null);
//2.向数据库中存入数据
sqlite.execSQL("create table student(id varchar2(10),name varchar2(20),sex varchar2(2)");
sqlite.execSQL("insert into student values(?,?,?)", new String[] {"2013111111", "Tom", "M" });
//3.从sqlite中读取数据
Cursor cursor = sqlite.rawQuery("select * from student", null);
//输出列名
for (int i = 0; i < cursor.getColumnCount(); i++) {
   textView.append(cursor.getColumnName(i) + '\t');
}
textView.append("\n");
//开始读取其中的数据
if (cursor.moveToFirst()) {
    do {
        textView.append(cursor.getString(0) 
        + '\t'
    + cursor.getString(1) 
    + '\t' 
    + cursor.getString(2)
    + '\n');
    } while (cursor.moveToNext());

}

看起了很简单,但是我当时在使用cursor的时候忘了定位cursor,因为在查询之后返回的是一个结果集,也就是一张二维表,如果我们直接调用getString(int ColumnIndex)的话,就会报错,因为光标不能够确定你要返回哪一行的数据,从而我们在使用Cursor的时候,注意定位光标。

以上就是Android sqlite cursor的遍历实例详解的详细内容,更多关于Android sqlite cursor的遍历的资料请关注脚本之家其它相关文章!

相关文章

  • Android自定义组合控件之自定义下拉刷新和左滑删除实例代码

    Android自定义组合控件之自定义下拉刷新和左滑删除实例代码

    最近做了个项目,其中有项目需求,用到下拉刷新和左滑删除,网上没有找到比较理想的解决办法。下面小编给大家分享我的一个小demo有关Android自定义组合控件之自定义下拉刷新和左滑删除实例代码,需要的朋友参考下
    2016-04-04
  • kotlin gson反序列化默认值失效深入讲解

    kotlin gson反序列化默认值失效深入讲解

    这篇文章主要大家介绍了关于kotlin gson反序列化默认值失效的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • UIImage初始化的区别两种方法介绍(面试常见)

    UIImage初始化的区别两种方法介绍(面试常见)

    本文通过两种方法给大家介绍UIImage初始化的区别,在面试过程中经常遇到,对uiimage初始化相关知识感兴趣的朋友一起了解下吧
    2016-05-05
  • Kotlin中实体类的创建方式

    Kotlin中实体类的创建方式

    这篇文章主要介绍了Kotlin中实体类的创建方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android编程实现TCP客户端的方法

    Android编程实现TCP客户端的方法

    这篇文章主要介绍了Android编程实现TCP客户端的方法,结合实例形式分析了Android实现TCP客户端的原理及数据通信的相关技巧,需要的朋友可以参考下
    2016-04-04
  • 如何从外部浏览开启Android App

    如何从外部浏览开启Android App

    从浏览器中点击某个按钮,如果手机上装有相应的app,则直接开启app,并且到相对的页面。如果没有装该app,则会到相应的下载app的界面。这样的功能怎么实现呢,本文带着大家来看看如何实现。
    2021-06-06
  • Android开发中Eclipse报错及对应处理方法总结

    Android开发中Eclipse报错及对应处理方法总结

    这篇文章主要介绍了Android开发中Eclipse报错及对应处理方法,实例汇总了使用eclipse开发Android项目过程中常见的错误提示及对应的处理技巧,需要的朋友可以参考下
    2015-12-12
  • Android自定义滑动删除效果的实现代码

    Android自定义滑动删除效果的实现代码

    这篇文章将从现有 Android 滑动删除的痛点,到搭建好一个基本的框架,到最终提供一份完整的 Demo为止,争取为读者提供最大的可定制化,需要的朋友可以参考下
    2018-03-03
  • 浅谈Android实践之ScrollView中滑动冲突处理解决方案

    浅谈Android实践之ScrollView中滑动冲突处理解决方案

    涉及到了ViewPager,MapView,ListView,就需要ScrollView来做一下支援,这篇文章主要介绍了浅谈Android实践之ScrollView中滑动冲突处理解决方案,有需要的可以来了解一下。
    2016-12-12
  • Kotlin中let()with()run()apply()also()函数的使用方法与区别

    Kotlin中let()with()run()apply()also()函数的使用方法与区别

    在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码,今天为大家聊聊let,with,run,apply,also几个函数的用法与区别
    2018-03-03

最新评论