我已经为我和我的朋友制作了一个聊天应用程序。
当我向他们发送消息时,我想存储他们的Uid
。
我该怎么做?还要提及是否需要重建整个结构。
我想到了String[] uidList = DatabaseReference.child("Users").getKey();
消息尚未创建。我想用 friend_user_id 创建它们,目前无法检索。
下面是我希望我的Firebase数据库结构如下所示:
app-id:
Users:
my_user_id:
name:"Me"
last_seen:"MyLastSeenTimeValue"
friend_user_id:
name:"Friend"
last_seen:"FriendLastSeenTimeValue"
Messages:
my_user_id:
friend_user_id:(How to retrieve this ?)
random_msg_id_1:
text:"Hi"
msg_type:"text"
time:"msgTime"
random_msg_id_2:
text:"Hello"
msg_type:"text"
time:"msgTime"
friend_user_id:(How to retrieve this ?)
my_user_id:
random_msg_id_1:
text:"Hi"
msg_type:"text"
time:"msgTime"
random_msg_id_2:
text:"Hello"
msg_type:"text"
time:"msgTime"
答案 0 :(得分:1)
不确定Json
的输出,但可以猜测,它应该类似于以下代码:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("Messages").child("my_user_id").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot item_snapshot:dataSnapshot.getChildren()) {
// get the data here and loop through the friend_user_id to get the nodes like following
Log.d("User id ", item_snapshot.toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// handle error
}
});