【发布时间】:2021-02-26 00:21:28
【问题描述】:
我编写的方法包含两个创建与 firebase 连接的异步方法。我想在所有异步方法完成后完成该方法。我怎样才能做到这一点? 如果它是一种异步方法,那么我创建了回调接口,但在这种情况下没有帮助。
例如:
public void method(String teamID1,String teamID2)
{
final ArrayList<String> usersID = new ArrayList<>();
final DatabaseReference mDatabase1 = getDatabaseReference(ConstantNames.ROLE_PATH).child ( teamID1 );
mDatabase1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
usersID.add(snapshot.getValue().toString());
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
final DatabaseReference mDatabase2 = getDatabaseReference(ConstantNames.ROLE_PATH).child ( 2 );
mDatabase2.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
usersID.add(snapshot.getValue().toString());
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
(此方法仅供说明)
我想在调用 mDatabase1 的侦听器和 mDatabase2 的侦听器时完成此方法。 我该怎么做?
【问题讨论】:
标签: java android firebase firebase-realtime-database java-threads