GreenDao asynchronously loadAll methood

爷,独闯天下 提交于 2019-12-07 01:16:30

You can grab the fetched arrayList with operation.getResult() method, like this:

AsyncSession asyncSession = App.getInstance().daoSession.startAsyncSession();
    asyncSession.setListener(new AsyncOperationListener() {
        @Override
        public void onAsyncOperationCompleted(AsyncOperation operation) {
            itemsList = (List<MyObject>) operation.getResult();
        }
    });
    asyncSession.loadAll(MyObject.class);

UPDATE: BoxRepository is just a Helper class, its getAllBoxes() loadsAll data synchronously but you can easily add another method like this which loads all the data asynchronously:

public static void getAllBoxes(Context context, AsyncOperationListener listener) {
    AsyncSession asyncSession = App.getInstance().daoSession.startAsyncSession();
    asyncSession.setListener(listener);
    asyncSession.loadAll(Box.class);
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!