华域联盟 Andriod Android sqlite cursor的遍历实例详解

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 sqlite cursor的遍历实例详解

转载请保留出处和原文链接:https://www.cnhackhy.com/109451.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

Android基于opencv实现多通道分离与合并

详解dex优化对Arouter查找路径的影响

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们