Firebase中的侦听器是异步的,因此您不能设置这样的变量。您应该在声明了侦听器的函数中传递一个回调函数。
然后,此回调函数将从firebase调用中获取结果并对其进行进一步处理。
public void doSomething(@NotNull final Callback callback) { final Query query = mDatabase.child(FirebaseConstants.TARGET); query.addListenerForSinglevalueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { String userName = dataSnapshot.child("userName").getValue(String.class); callback.onComplete(userName); } @Override public void onCancelled(DatabaseError databaseError) { } });}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)