Pracuję nad aplikacją na Androida i za każdym razem, gdy użytkownik uruchamia tę aplikację, wygeneruje nowy rejestr (jeśli nie istnieje) od tego użytkownika, po aktualizacji istniejących danych i mojej aplikacji wstawi więcej informacji do węzła użytkownika.Aktualizacje Android Firebase tylko niektóre pola
Za każdym razem, gdy aktualizuję ten węzeł, wszystkie inne informacje są tracone.
Moja klasa użytkownik
@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;
}
}
A mój kod zmiana:
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);
}
}
Kiedy zadzwonić myRef.updateChildren(childUpdates);
, wszystkie moje stare dane są aktualizowane i moje nowe dzieci (które stworzyłem w czasie aplikacji) są Stracony.
cześć. Publikuj swoją strukturę bazy danych. –
Witam, wysyłam obraz od momentu uruchomienia polecenia ** myRef.updateChildren (childUpdates); ** – rodrigo