小编RCa*_*ers的帖子

从Firebase(android)获取数据时,如何避免代码重复?

我想这个问题将适用于使用异步调用的任何应用程序。

我对这一切还比较陌生,而我遇到的问题是从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

0
推荐指数
1
解决办法
162
查看次数