Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GreenDao如何实现回调_Java_Android_Greendao - Fatal编程技术网

Java GreenDao如何实现回调

Java GreenDao如何实现回调,java,android,greendao,Java,Android,Greendao,我遇到了一个问题,当我尝试写入数据库时,我需要获取事件/回调。 我将greenDao库添加到项目中,并且我能够在db中写入/删除。 但不知道在db下进行一些操作后如何获得回调 在对lib的介绍中,我读了“操作完成时异步回调的AsyncOperationListener”。 使用本教程: 有人能帮我解决这个麻烦吗 UPD: 好的,这里我们在存储中添加了一些列表 getMyObjectDao().getSession().startAsyncSession().insertOrReplaceInT

我遇到了一个问题,当我尝试写入数据库时,我需要获取事件/回调。 我将greenDao库添加到项目中,并且我能够在db中写入/删除。 但不知道在db下进行一些操作后如何获得回调

在对lib的介绍中,我读了“操作完成时异步回调的AsyncOperationListener”。 使用本教程:

有人能帮我解决这个麻烦吗

UPD:

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

getMyObjectDao().getSession().startAsyncSession().insertOrReplaceInTx(MyObject.class, list);
这里出错

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

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

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

如果有什么不清楚的地方,简单地问一下

你不能使用GreenDao生成的ContentProvider吗?@pskink你能给我链接一些例子吗?@Garf1eld请用新问题创建一个新问题,我将提交答案!请看这里
    AsyncSession asyncSession = App.getInstance().daoSession.startAsyncSession();
    asyncSession.setListener( new AsyncOperationListener() {
        @Override
        public void onAsyncOperationCompleted(AsyncOperation operation) {
            // do whats needed
        }
    });
    asyncSession.insert(MyObject);