Android 数据库Sqlite的使用(3)
16lz
2021-01-23
https://blog.csdn.net/tdl081071tdy/article/details/88377515 ( Android 数据库Sqlite的使用(2))
上一篇博客中我们学习了如何插入 删除 以及修改 现在我们来学习最重要的查询
同样 在布局文件中写入一个按钮控件
在查询之前 我们先创建一个实体类person 用于存储查询的数据
public class Person { private String name; private int age; public Person( String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "name="+name+",age="+age; }}
大家应该注意到了 这个类的名字就是我们所创建的表的表名 ,这里我们重写了tostring方法 用于返回查询结果
然后 ,我们需要在DBManger中创建一个新的方法 用于将查询结果转换为集合 ,这里我们利用游标对象遍历所返回的符合查询条件的虚拟结果集 然后将结果集中的数据存到person对象中 在将该对象存入list集合 然后将其返回
public static List CursorTolsit(Cursor cursor){ List list = new ArrayList<>(); /** * moveToNext 若返回true则表示还有下一条数据 若返回false则代表以到最后一条,读取完毕 */ while (cursor.moveToNext()){ //通过字段名称获取该字段的下标 //在通过下标获取该字段的值 String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); Person person = new Person(name,age); list.add(person); } return list; }
现在我们可以在查询按钮中的点击事件中写入如下方法
db = helper.getWritableDatabase(); Cursor query = null; query = db.query("person", null, "name=?", new String[]{"张三"}, null, null, " age desc"); } db.close(); List list = DBManger.CursorTolsit(cursor); for (Person p:list){ Log.e("person",p.toString()); }
这里我们可以看到 之前在DBmnger中的方法派上用场了 通过日志 我们可以打印出查询结果 当然 你们可以将它写入到textview或其他视图控件中
到此为止 我们的CURD操作便以完成 若有不足 欢迎指正
这里列出前两篇文章
https://blog.csdn.net/tdl081071tdy/article/details/88377515Android 数据库Sqlite的使用(2)
https://blog.csdn.net/tdl081071tdy/article/details/88377267Android 数据库Sqlite的使用(1)
更多相关文章
- 2.1 五种数据存储与共享方式的比较、
- Android应用开发揭秘(笔记) 第六章 Android数据存储
- Could not find SDK_Root\tools\adb.exe 的解决方法
- Android高手进阶教程(八)-------Android中两种设置全屏的方法!!!
- Android Studio导入.so库文件方法
- 我的android 第12天 - 嵌入式关系型SQLite数据库存储数据
- (转)Android 应用程序退出后不在运行列表中显示的方法