Java 如何修复子节点中不断被新值覆盖的旧值?
我是android和fire base的新手,所以第一件事是在fire base中,我可以毫无问题地在我的孩子(“帖子”)中添加新的值,但是当用户尝试添加新帖子时,在0-40秒内,旧用户的帖子会被新用户的帖子覆盖,评论也会发生同样的情况,当用户试图在文章中发表评论时Java 如何修复子节点中不断被新值覆盖的旧值?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我是android和fire base的新手,所以第一件事是在fire base中,我可以毫无问题地在我的孩子(“帖子”)中添加新的值,但是当用户尝试添加新帖子时,在0-40秒内,旧用户的帖子会被新用户的帖子覆盖,评论也会发生同样的情况,当用户试图在文章中发表评论时 private void SavingPostInformationToDatabase() { UsersRef.child(current_user_id).addValueEventListener(new ValueEve
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) {
}
});
}
有关android studio IDE本身的问题,请仅使用
android studio
标记。对于一般的Android编程问题,请使用Android
标记。好的,感谢您的指点。对于有关Android studio IDE本身的问题,请仅使用Android studio
标记。有关Android编程的一般问题,请使用Android
标签。好的,谢谢您指出