gpt4 book ai didi

Android Firebase onDataChange 没有被调用?

转载 作者:太空狗 更新时间:2023-10-29 13:11:44 28 4
gpt4 key购买 nike

我的 Firebase 数据库中有 40,000 多个节点。但是每当我尝试从我的 Android 代码中读取 key 时,onDataChange 方法都不会被调用。

我的代码:

 Firebase firebase = new Firebase(my url);
firebase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

Log.d(TAG, "onDataChange : " + dataSnapshot);

if (dataSnapshot.getValue() != null) {

Map map = (Map) dataSnapshot.getValue();

Iterator accountIterator = map.entrySet().iterator();
while (accountIterator.hasNext()) {

Map.Entry accountPair = (Map.Entry) accountIterator.next();

Log.d(TAG, "accountPair : Key : " + accountPair.getKey() + " , Value : " + accountPair.getValue());
}

}
}

@Override
public void onCancelled(FirebaseError firebaseError) {
Log.d(TAG, "onCancelled : " + firebaseError);
}
});

I want to retrieve Student node details

请告诉我。我无法在代码中找到任何问题。请给我一些解决方案。

最佳答案

首先要做的是检查您是否具有从数据库中读取的正确权限。去 https://console.firebase.google.com/project/[your_database_url]/database/rules并检查。在产品中并不理想,但为了测试,您可以将 read 设置为 true

  {
"rules": {
".read": true,
".write": "auth != null"
}
}

下一个要注意的是要记住监听器是异步调用并忘记调用。因此,一旦在 onDataChange() 方法中接收到数据,就应该对数据进行任何操作。

关于Android Firebase onDataChange 没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39851052/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com