ОБНОВЛЕНИЕ1: Я все еще работаю над этим, но я не могу решить это, возможно реструктуризация базы данных?Я продолжу думать, но если у кого-то есть идея, было бы здорово услышать
Что ж, я пытаюсь собрать всех текущих пользователей друзей и его собственные сообщения в запросе Firebase, но я не могуполучить их, я всегда старался, я получаю только сообщения одного друга, потому что другие перезаписаны.Позвольте мне показать вам, как структурирована моя база данных (JSON) и как я хочу отобразить сообщение в проекте Android Activity.
UserRef = FirebaseDatabase.getInstance().getReference().child("Users");
PostRef = FirebaseDatabase.getInstance().getReference().child("Post");
...
...
UserRef.child(currentUserID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
if(dataSnapshot.exists())
{
if(dataSnapshot.hasChild("Friends")){
for(DataSnapshot ds : dataSnapshot.child("Friends").getChildren()){
friendsID = ds.getKey(); //String with friendsID
DisplayAllUserPosts();
}
}...
...
private void DisplayAllUserPosts() {
Query SortPost = PostRef.orderByChild("uid").equalTo(friendsID);
FirebaseRecyclerOptions<Posts> options=new FirebaseRecyclerOptions.Builder<Posts>().setQuery(SortPost,Posts.class).build(); \\Posts class is just for getting data base Post nodes elements
FirebaseRecyclerAdapter<Posts, PostsViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Posts, PostsViewHolder>(options) {...
Моя база данных Firebase Real Time структурирована какthis:
{
"Post" : {
"10-04-201918:32:09" : {
"counter" : 0,
"date" : "10-04-2019",
"fullname" : "Xuban Illarramendi",
"postimage" : "XXXX",
"profileimage" : "XXXX",
"status" : "",
"time" : "18:32:09",
"uid" : "FP1YJnlJBpfU5aSZlSAErLODWZl2"
},
"10-04-201921:10:06" : {
"counter" : 0,
"date" : "10-04-2019",
"fullname" : "Ander Lopez",
"postimage" : "XXXX",
"profileimage" : "XXXX",
"status" : "",
"time" : "21:10:06",
"uid" : "8wXFsw1pBRYXBVtChqY1Kqi14dy1"
}
},
"Users" : {
"8wXFsw1pBRYXBVtChqY1Kqi14dy1" : {
"Friends" : {
"FP1YJnlJBpfU5aSZlSAErLODWZl2" : {
"date" : "10-04-2019"
},
"sWQGtchFE1fvuSIfPb42ZIWVkbU2" : {
"date" : "10-04-2019"
}
},
"country" : "Spain",
"dob" : "none",
"fullname" : "Ander Lopez",
"gender" : "none",
"profileimage" : "XXXX",
"relationshipstatus" : "none",
"status" : "",
"username" : "anderlopz"
},
"FP1YJnlJBpfU5aSZlSAErLODWZl2" : {
"Friends" : {
"8wXFsw1pBRYXBVtChqY1Kqi14dy1" : {
"date" : "10-04-2019"
},
"sWQGtchFE1fvuSIfPb42ZIWVkbU2" : {
"date" : "10-04-2019"
}
},
"country" : "Spain",
"dob" : "none",
"fullname" : "Xuban Illarramendi",
"gender" : "none",
"profileimage" : "XXXX",
"relationshipstatus" : "none",
"status" : "",
"username" : "xuban"
},
"sWQGtchFE1fvuSIfPb42ZIWVkbU2" : {
"Friends" : {
"8wXFsw1pBRYXBVtChqY1Kqi14dy1" : {
"date" : "10-04-2019"
},
"FP1YJnlJBpfU5aSZlSAErLODWZl2" : {
"date" : "10-04-2019"
}
},
"country" : "Spain",
"dob" : "none",
"fullname" : "Unai Lopez",
"gender" : "none",
"profileimage" : "XXXX",
"relationshipstatus" : "none",
"status" : "",
"username" : "unailopz"
}
}
}
Так что моя настоящая проблема в том, что он отображает только последние сообщения друзей, как я могу сделать запрос, содержащий все мои friendsID, без перезаписи предыдущего идентификатора friendsID?