猿问

如何从android中的firebase实时数据库中获取数据

我必须从 firebase 实时数据库中获取所有儿童数据吗?我想获取 User2 收到的消息。怎么做?数据库示例如下-


慕妹3242003
浏览 204回答 2
2回答

Smart猫小萌

为了能够获取子数据,请尝试以下操作: DatabaseReference reference = FirebaseDatabase.getInstance().getReference("users").child("User1").child("MSG_TYPE_SENT");reference.addListenerForSingleValueEvent(new ValueEventListener() { @Overridepublic void onDataChange(DataSnapshot dataSnapshot) {  for(DataSnapshot datas: dataSnapshot.getChildren()){     String msgContent=datas.child("msgContent").getValue().toString();     String msgType=datas.child("msgType").getValue().toString();    }  } @Overridepublic void onCancelled(DatabaseError databaseError) {    } });这将为您提供msgContent和msgType,要从数据库中检索任何数据,您需要通过每个节点示例:-getReference("users").child("User1").child("MSG_TYPE_SENT");然后您可以在 id 内循环并检索数据。

慕神8447489

在这里您可以获取收到的 User2 消息        DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("users");        mDatabase.child("User2").child("MSG_TYPE_RECEIVED").addValueEventListener(new ValueEventListener() {                    @Override                    public void onDataChange(DataSnapshot dataSnapshot) {                           for(DataSnapshot spanshot : dataSnapshot.getChildren()){                             String content=snapshot.child("msgContent").getValue(String.class);                             String type=snapshot.child("msgType").getValue(String.class);                             //then you can log those values                             Log.d("Values:",""+content+""+type);                       }                    }                    @Override                    public void onCancelled(DatabaseError databaseError) {                    }                });如果收到的消息在任何时候发生变化(假设您想实时实现消息的删除选项,例如 whatsapp).addValueEventListener,如果您已编码以显示消息已被删除,则会实时更新您的 UI
随时随地看视频慕课网APP

相关分类

Java
我要回答