我想这个问题将适用于使用异步调用的任何应用程序。
我对这一切还比较陌生,而我遇到的问题是从Firebase到我的Android应用程序中获取数据。
在整个应用程序中,有几个类需要使用数据库中“用户”表中的数据,我可以从中获得以下数据:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference()
.child("users").child("exampleDataFromUsers");
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// do something with the snapshot
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个通用类来处理从Firebase检索的数据,例如:
public class FirebaseDataHandler() {
static String getUserReports() {
// get Reports
}
static int getUserAge() {
// get age
}
}
Run Code Online (Sandbox Code Playgroud)
但是由于它是异步检索的,因此对这些方法的任何调用都只会返回null。结果,我的代码当前到处都是重复的代码。
如果有人对实现此目标的更好方法有任何见识,将不胜感激。谢谢。
java android asynchronous firebase firebase-realtime-database