gpt4 book ai didi

java - GreenDao如何实现回调

转载 作者:行者123 更新时间:2023-11-29 05:06:50 26 4
gpt4 key购买 nike

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

在 lib 简介中,我阅读了“操作完成时用于异步回调的 AsyncOperationListener”。使用本教程: 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);

有什么不明白的就直接问!

关于java - GreenDao如何实现回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30117924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com