Android|Android sqlite cursor的遍历实例详解
查询并获得了cursor对象后,用while(corsor.moveToNext()){}遍历,当corsor.moveToNext()方法调用,如果发现没有对象,会返回false
public ListgetAll() {List list = new ArrayList (); 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|Android sqlite cursor的遍历实例详解】知识点内容扩展:
写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第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备