在本篇内容里小编给大家整理的是一篇关于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的遍历实例详解
基础教程推荐
猜你喜欢
- Flutter手势密码的实现示例(附demo) 2023-04-11
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- android studio按钮监听的5种方法实例详解 2023-01-12
- Android多返回栈技术 2023-04-15
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- Android中的webview监听每次URL变化实例 2023-01-23
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
