Tôi đang phát triển ứng dụng Android và mỗi khi người dùng khởi chạy ứng dụng này, ứng dụng sẽ tạo một đăng ký mới (nếu không tồn tại) từ người dùng này, cập nhật dữ liệu hiện có và ứng dụng của tôi sẽ chèn thêm thông tin trong nút người dùng.Android Firebase chỉ cập nhật một số trường
Mỗi lần tôi cập nhật nút này, tất cả các thông tin khác đều bị mất.
lớp người sử dụng tôi
@IgnoreExtraProperties
public class User {
public String userID;
public String userName;
public String userMail;
public boolean active;
public User() {}
public User(String userID, String userName) {
this.userID = userID;
this.userName = userName;
}
public User(String userID, String userName, String userMail, boolean active) {
this.userID = userID;
this.userName = userName;
this.userMail = userMail;
this.active = active;
}
@Exclude
public Map<String, Object> toMap() {
HashMap<String, Object> result = new HashMap<>();
result.put("user_id", userID);
result.put("name", userName);
result.put("email", userMail);
result.put("active", active);
return result;
}
}
Và mã cập nhật của tôi:
public class FireBaseUser {
public static String FB_REFERENCE_USER = "user";
public void updateUser(String userID, String userName, String userMail, boolean userActive) {
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference(FB_REFERENCE_USER);
User user = new User(userID, userName, userMail, userActive);
Map<String, Object> postValues = user.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put(userID, postValues);
myRef.updateChildren(childUpdates);
}
}
Khi tôi gọi myRef.updateChildren(childUpdates);
, tất cả dữ liệu cũ của tôi được cập nhật và trẻ em mới của tôi (mà tôi tạo ra trong ứng dụng) là mất đi.
Hi. Làm đăng cấu trúc cơ sở dữ liệu của bạn. –
Xin chào, tôi tải lên một hình ảnh từ thời điểm này sau khi chạy lệnh ** myRef.updateChildren (childUpdates); ** – rodrigo