【问题标题】:Firebase on android not retrieving dataandroid上的Firebase没有检索数据
【发布时间】:2016-03-24 16:04:16
【问题描述】:

我已经能够使用此处的指南从我的 Firebase 存储库中成功上传和删除数据: https://www.firebase.com/docs/android/guide/saving-data.html

但是,如果我尝试使用此处的 Firebase 指南检索数据: https://www.firebase.com/docs/android/guide/retrieving-data.html

应用程序活动只是挂起 - 没有回调 onDataChange 或 onCancel。我正在使用示例中的确切代码,该代码在指南中一直有效(在我的 Activity onCreate() 方法中):

Firebase ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts");

ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snapshot) {
        System.out.println(snapshot.getValue());
    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {
        System.out.println("The read failed: " + firebaseError.getMessage());
        }
    });

示例 URL 中有数据,因此应该可以使用。我正在运行 Android 4.0.3 的手机上运行。

我做错了什么?

谢谢, 里兹

编辑:我尝试在运行 Android 5.1.1 的三星 Note 4 上运行,Firebase 运行良好。不适用于运行 Android 4.0.3 的华为。跟安卓版本有关系吗?

编辑 2:结果证明下面的答案是正确的。我在我的一个辅助类中发现了一段旧代码,它在等待线程时暂停了线程。我将它重写为真正的异步并解决了问题。非常感谢 - 我已接受答案。

【问题讨论】:

  • CallBackSignaler 很有可能只是阻塞了主线程并挂起您的应用程序。见my answer to this question
  • 在下面查看我的答案。我已经编辑了这个问题以消除它是一个分心。
  • 我已经接受了你的答案,毕竟你是对的 - 查看我的编辑

标签: android firebase firebase-realtime-database


【解决方案1】:

从 Firebase 同步数据是一种异步操作。试图等待该数据不是一个好主意。

您的CallbackSignaler 阻止了onDataChange() 被调用。如果您删除信号器,您将看到数据已加载,onDataChange() 被调用并记录了值。

查看我对这个问题的回答:Setting Singleton property value in Firebase Listener

【讨论】:

  • 谢谢。这不是信号器,因为我只是在意识到它挂起以检查回调而无需求助于调试器时才将其放入。我所有处理持久性的类在设计上都是异步的——回调信号器只是解决此类问题的调试工具。
  • 您的设备连接到互联网了吗?检查飞行模式或monitor .info/connected
  • 我在 Android Studio 中创建了一个新的干净项目,MainActivity 中只有 Firebase 示例。它现在似乎在两部手机上都可以正常工作。我不确定发生了什么,但是当我在加载数据时第一次启动它时,我的主应用程序中发生了一堆异步的事情。我想知道是否存在与您最初给出的答案相关的线程问题...
  • 所以事实证明你是对的。我在我的一个助手类中发现了一段旧代码,它在等待线程时暂停了线程。我将它重写为真正的异步并解决了问题。非常感谢 - 我已经接受了答案。
  • 很高兴听到!现在继续使用 Firebase 进行黑客攻击!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
相关资源
最近更新 更多