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的遍历的资料请关注好吧啦网其它相关文章!
相关文章:
1. 关于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服务传输的问题2. Vue Element前端应用开发之树列表组件3. python 网页解析器掌握第三方 lxml 扩展库与 xpath 的使用方法4. Python Scrapy图片爬取原理及代码实例5. Vue看了就会的8个小技巧6. SpringBoot+MQTT+apollo实现订阅发布功能的示例7. SpringBoot整合Redis的步骤8. Vue实现动态样式的多种方法汇总9. Vue Element前端应用开发之界面语言国际化10. JS中6个对象数组去重的方法

网公网安备