मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं और हर बार जब उपयोगकर्ता इस ऐप को लॉन्च करता है, तो यह इस उपयोगकर्ता से एक नया रजिस्टर (यदि मौजूद नहीं है) उत्पन्न करेगा, मौजूदा डेटा अपडेट करने पर, और मेरा ऐप उपयोगकर्ता नोड में अधिक जानकारी डालेंगे।एंड्रॉइड फ़ायरबेस अपडेट केवल कुछ फ़ील्ड
हर बार जब मैं इस नोड को अद्यतन करता हूं, तो अन्य सभी जानकारी खो जाती है।
मेरे उपयोगकर्ता वर्ग
@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