Android Firebase.addListenerForSingleValueEvent(新值EventListener(){在我的方法结束后激发

Android Firebase.addListenerForSingleValueEvent(新值EventListener(){在我的方法结束后激发,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我有一个从firebase数据库读取一些数据的方法。 让我们称之为getMyData() 我正在附加一个firebaseQuery.addListenerForSingleValueEvent(新值EventListener(){…) 我的代码结构是这样的。 SomeDataType myData=getMyData();if(myData==someCondition){//somelogic}else{//somelogic} 问题是,在我的代码通过之前,事件侦听器不会被触发 类似这样的事情

我有一个从firebase数据库读取一些数据的方法。
让我们称之为
getMyData()
我正在附加一个
firebaseQuery.addListenerForSingleValueEvent(新值EventListener(){…

我的代码结构是这样的。
SomeDataType myData=getMyData();if(myData==someCondition){//somelogic}else{//somelogic}

问题是,在我的代码通过之前,事件侦听器不会被触发

类似这样的事情发生了,它转到我的where子句。
firebase
使用事件,因此它不是线性代码执行,但我有点困惑……你能帮我吗?

addListenerForSingleValueEvent
是异步的。这就是它的工作方式。它不会阻止你的应用程序等待查询结果,这可能需要花费任何时间。@DougStevenson知道如何应用程序吗解决我的问题?你必须学习异步编程技术,并将其应用到Firebase API的使用中。我建议你使用Firebase Android codelab来获得一些经验。@DougStevenson好的,我知道它是异步的……不管怎样,你会如何解决这个问题……你需要一些数据,以便在业务中进一步使用ss逻辑学。你必须把它拿到ofc。从这里检查我的答案。