我正在从本地Android RoomDB
读取数据,并且我需要在后台进行数据处理,因为DB
上不允许从UI Thread
读取数据。所以我有这种方法:
@Override
public DBBackedRouteModel getDBBackedRouteModelByID(Long id) {
AsyncTask.execute(() -> {
this.dbBackedRouteModel = routesParser.getDBBackedRouteModel(id);
});
return dbBackedRouteModel;
}
是否有办法知道Async
已经完成并仅返回结果?
答案 0 :(得分:0)
您可以使用here。我不确定您要确切执行的操作,但是例如可以在异步完成后执行控制台日志。
答案 1 :(得分:0)
您可以使用EventBus。异步任务的onPostExecute()方法可以发布事件并传递要读取的值。 希望这能解决您的问题