java - Firebase实时数据库: what is the prefeable way to organize AddValueListener part?

标签 java android firebase firebase-realtime-database

我正在使用 Firebase 实时数据库创建一个应用。 onDataChange 内的代码变得越来越臃肿。例如,该部分内部有一些 if 语句,并且它是嵌套的。我想知道是否有更好的方式来组织这部分。我想将处理 Firebase 的部分与 Activity 分开。

mNode.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
             //this part is getting fat
             if (dataSnapshot.haschild("aValue")) {
                  ...
                  if (dataSnapshot.
                     ...
                  if (dataSnapshot.
                     ...
            } else {...

最佳答案

I'm wondering if there's a preferable way to organize this part.

您使用这些 if 语句的方式对我来说看起来不错。您在回调中使用它们,这是从异步方法获取数据的正确方法。如果需要,您可以创建一个方法并将 DataSnapshot 对象作为参数传递,然后将整个逻辑移动到该方法中。但在我看来,这种做法并没有什么问题。

关于java - Firebase实时数据库: what is the prefeable way to organize AddValueListener part?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53012774/

相关文章:

ArrayList 上的 java.lang.NullPointerException

android - MPAndroidChart 饼图如何不显示底部标签?

android - 错误 android-emu/android/qt/qt_setup.cpp :28:Qt library not found at . .\emulator\lib64\qt\lib Could not launch 'C:\Users: No such file or directory

java - Android ServerSocketChannel 绑定(bind)回环地址

javascript - 当对象没有引号时将对象转换为数组javascript

java - Hibernate + Postgres 表和列名敏感问题

java - 使用 Maven,如何过滤不是资源但希望它使用与资源相同的过滤器的文件?

java - 使用 Java 代码将文本插入到由 XPath 表达式定位的 XML 节点中

android - 更新 Firebase Recyclerview 适配器不会删除以前的列表

ios - Swift 3 将 Firebase 数据写入 TableView