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);
有什么不明白的就简单问!
我遇到了麻烦,我需要在尝试写入数据库时获取 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);
有什么不明白的就简单问!