、それはこのユーザーからの(存在しない場合)、新規登録、更新時に既存のデータ、そして私のアプリを生成します。ユーザーノードにさらに情報を挿入します。アンドロイドFirebase更新のみいくつかのフィールド
私はこのノードを更新するたびに、他のすべての情報が失われます。
マイユーザクラス
@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;
}
}
そして、私の更新コード:
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);
}
}
私はmyRef.updateChildren(childUpdates);
を呼び出す
こんにちはを使用するようにしてください。あなたのデータベース構造を投稿してください。 –
こんにちは、私は** myRef.updateChildren(childUpdates); ** – rodrigo