【发布时间】:2016-05-19 16:23:12
【问题描述】:
我正在尝试实现AlphabtIndexer,并且构造函数需要数据库中表的游标。
有没有办法从 GreenDao 中的查询对象中获取光标?
【问题讨论】:
-
也检查惰性列表stackoverflow.com/questions/18953168/…也许你想换行光标:)
标签: android android-cursor greendao
我正在尝试实现AlphabtIndexer,并且构造函数需要数据库中表的游标。
有没有办法从 GreenDao 中的查询对象中获取光标?
【问题讨论】:
标签: android android-cursor greendao
假设你有 Query 对象 query 和 dao sesssion daoSession
你可以运行:
Cursor cursor = daoSession.getDatabase().rawQuery(query.getSql(), query.getParameters());
【讨论】:
getSql()或getParameters()
GreenDao 2.1,queryBuilder 提供了一个 buildCursor() 函数
session.getMyObjectDao().queryBuilder()
.where(MyObjectDao.Properties.Locale.eq("en")))
.buildCursor().forCurrentThread().query()
【讨论】:
使用 GreenDao 2.1,您可以创建一个 QueryBuilder 对象,然后在该对象上调用 buildCursor().query() 以返回一个游标。
DBUserDao userDao = daoSession.getDBUserDao();
QueryBuilder<DBUser> queryBuilder = userDao.queryBuilder().where(DBUserDao.Properties.Phone_number.eq("XYZ"));
Cursor cursor = queryBuilder.buildCursor().query();
【讨论】: