Assume you have Query object query
and dao sesssion daoSession
you can run:
Cursor cursor = daoSession.getDatabase().rawQuery(query.getSql(), query.getParameters());
質問
I'm trying to implement an AlphabtIndexer
and the constructor requires a Cursor to the table in the DB.
is there a way to get a Cursor back from a Query object in GreenDao?
解決
Assume you have Query object query
and dao sesssion daoSession
you can run:
Cursor cursor = daoSession.getDatabase().rawQuery(query.getSql(), query.getParameters());
他のヒント
GreenDao 2.1, queryBuilder offers a buildCursor() function
session.getMyObjectDao().queryBuilder()
.where(MyObjectDao.Properties.Locale.eq("en")))
.buildCursor().forCurrentThread().query()
With GreenDao 2.1 you can create a QueryBuilder object then just call buildCursor().query() on the object to return a cursor.
DBUserDao userDao = daoSession.getDBUserDao();
QueryBuilder<DBUser> queryBuilder = userDao.queryBuilder().where(DBUserDao.Properties.Phone_number.eq("XYZ"));
Cursor cursor = queryBuilder.buildCursor().query();