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)

更多相关文章

  1. 2.1 五种数据存储与共享方式的比较、
  2. Android应用开发揭秘(笔记) 第六章 Android数据存储
  3. Could not find SDK_Root\tools\adb.exe 的解决方法
  4. Android高手进阶教程(八)-------Android中两种设置全屏的方法!!!
  5. Android Studio导入.so库文件方法
  6. 我的android 第12天 - 嵌入式关系型SQLite数据库存储数据
  7. (转)Android 应用程序退出后不在运行列表中显示的方法

随机推荐

  1. printf用法详解
  2. c语言运算符的优先级
  3. vs2017怎么编写c语言
  4. c语言struct用法详解
  5. 如何用c语言实现单词统计
  6. &&在c语言中是什么意思?
  7. c语言程序总是从第一个定义的函数开始执
  8. c语言怎么判断奇偶数
  9. c语言的基本单位是什么?
  10. c语言怎么将小写转换为大写