dafür erstellen zunächst eine Klasse
public class User {
int id;
String name;
public User(int id, String name){
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
dann das db Objekt Sie
DatabaseReference dbRef = firebaseDatabase.getReference("YOUR_DB_NAME");
Query query = dbRef
.orderByChild("id")
.equalTo("ID_OF_THE_USER");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
Log.d(TAG, dataSnapshot1.getKey() + " " + dataSnapshot1.getValue(Profile.class)
.toString());
updateUser(dataSnapshot1.getKey(),"ID_OF_THE_USER", "New_Name");
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
private void updateUser(DatabaseReference db,int key, String id, String name,) {
User user = new User(id, name);
Map<String, Object> postValues = post.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("/data/" + key, postValues);
db.updateChildren(childUpdates);
}
Hoffe, es wird Ihnen helfen, zu aktualisierenden bekommen ....
Wenn Ihre Einzelteile haben ihre eigene ID, warum speicherst du sie nicht unter dieser ID? Mit einer solchen Struktur wären Ihre Aktualisierungen so einfach wie 'ref.child (id) .setValue (...)'. –
Ich habe gerade eine JSON-Datei aufgenommen und auf Firebase hochgeladen. Und dann Firebase hinzugefügt eigene IDs für meine Daten – d0pestar
Ich empfehle mehr als das Hochladen einer JSON-Datei, wenn es um Datenmodellierung geht. Zum Beispiel könnten Sie Schlimmeres tun als das Lesen von [NoSQL-Datenmodellierung] (https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/) und das Anzeigen von [Firebase für SQL-Entwickler] (https : //www.youtube.com/playlist? list = PL1-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s), –