【发布时间】: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