GreenDao如何实现回调

GreenDao how to implement callbacks

我遇到了麻烦,我需要在尝试写入数据库时​​获取 event/callback。 我将 greenDao lib 添加到项目中,并且我能够 write/delete in db. 但不知道如何在 db.

下进行一些操作后获得回调

我在 lib 简介中阅读了 "AsyncOperationListener for asynchronous callback when operations complete"。 使用本教程: http://blog.surecase.eu/using-greendao-with-android-studio-ide/

谁能帮我解决这个问题?

更新:

好的,我们在存储中添加了一些列表

getMyObjectDao().getSession().startAsyncSession().insertOrReplaceInTx(MyObject.class, list);

此处出错

List<MyObject> items = getBoxDao(c).getSession().startAsyncSession().loadAll(MyObject.class);

我们如何从数据库异步加载数据?

这是正确的解决方案吗?

            @Override
            public void onAsyncOperationCompleted(AsyncOperation operation) {
                String operationIs = null;

                switch (operation.getType()) {

                    case LoadAll:
                itemsList = BoxRepository.getAllBoxes(getApplicationContext());

默认情况下,所有操作都是同步执行的,无需获取任何回调。但是最近的版本GreenDAO引入了AsyncSession,可以用来异步执行操作,也提供了在其上设置监听器的方法。请参阅以下示例:

    AsyncSession asyncSession = App.getInstance().daoSession.startAsyncSession();
    asyncSession.setListener( new AsyncOperationListener() {
        @Override
        public void onAsyncOperationCompleted(AsyncOperation operation) {
            // do whats needed
        }
    });
    asyncSession.insert(MyObject);

有什么不明白的就简单问!