我正在尝试实现一个AlphabtIndexer
并且构造函数需要一个游标到数据库中的表。
有没有办法从 GreenDao 中的查询对象中获取光标?
我正在尝试实现一个AlphabtIndexer
并且构造函数需要一个游标到数据库中的表。
有没有办法从 GreenDao 中的查询对象中获取光标?
假设您有 Query 对象query
和 dao 会话daoSession
,您可以运行:
Cursor cursor = daoSession.getDatabase().rawQuery(query.getSql(), query.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();