Я новичок в Android и Fire Base, поэтому первое, что внутри Fire Base, я могу добавить новое значение внутри моего ребенка ("post") без проблем, но это происходит в 0-40 секунд, когда пользователь попробуйте добавить новое сообщение. Сообщение старого пользователя перезаписывается сообщением нового пользователя, и то же самое происходит с комментариями, когда пользователь пытается опубликовать комментарий внутри сообщения.
private void SavingPostInformationToDatabase()
{ UsersRef.child(current_user_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
String userFullName = dataSnapshot.child("fullname").getValue().toString();
String UserName = dataSnapshot.child("username").getValue().toString();
String userProfileImage = dataSnapshot.child("profileimage").getValue().toString();
HashMap postsMap = new HashMap();
postsMap.put("uid", current_user_id);
postsMap.put("date", saveCurrentDate);
postsMap.put("time", saveCurrentTime);
postsMap.put("description", Description);
postsMap.put("postimage", downloadUrl);
postsMap.put("profileimage", userProfileImage);
postsMap.put("fullname", userFullName);
postsMap.put("username", UserName);
postsMap.put("counter", CountPost);
PostsRef.child(current_user_id + postRandomName).updateChildren(postsMap)
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
SendUserToMainActivity();
Toast.makeText(PostRecipeActivity.this, "New Post is updated successfully.", Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
} else {
Toast.makeText(PostRecipeActivity.this, "Error Occured while updating your post.", Toast.LENGTH_SHORT).show();
loadingBar.dismiss();
}
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}