为什么延迟执行方法

时间:2019-04-17 20:06:21

标签: java android firebase firebase-realtime-database

我正在Android Studio中开发一个Android应用。

假设我有一个方法checkSomethingdoSomething。 在我的doSomething方法中,我有一段看起来像这样的代码:

int i = checkSomething();
if(i >= x){
    runThisMethod();
}else{
    runThis();
}

在调试过程中,我发现我的代码进入if statement并转到else,然后执行checkSomething()方法,为时已晚,因为我们已经超过了{{1 }} 我不确定如何解决此问题,因为我从来没有这样的人。

//编辑 在我的if statement方法中,我从Firebase接收数据,并与ArrayList中的数据进行检查。会造成延误吗?如果可以,我该如何解决?

我的checkSomething方法。

checkSomething

1 个答案:

答案 0 :(得分:1)

据我了解,您正在检查Firebase的返回结果,这是异步方法,这意味着您应该等到Firebase方法的结果准备好后再进行其他检查。

如果将Firebase作为同步功能处理,那么您将无法获得正确的结果,因为您正在检查的值仍然不存在。几天后它将存在。这就是为什么您应该正确实现Firebase功能的原因。

如果您使用的是Firebase Realtime数据库,则可以在参考页Read and Write Data on Android

中找到良好的示例。

希望这会有所帮助