2017-02-15 2 views
0

Ich habe kürzlich begonnen, die FirebaseDatabase-Bibliothek in Android Studio zu verwenden. Ich habe also gelesen, dass beim Aktualisieren/Ändern mehrerer Speicherorte in Ihrer Firebase-Datenbank im Falle eines Fehlers und um sicherzustellen, dass Daten an einigen Speicherorten nicht modifiziert und in anderen nicht geändert werden, Transaktionen verwendet werden.

Firebase - Multipfadaktualisierung mithilfe von Transaktionen in Android Studio

Transaktionen in JavaScript wurden gründlich behandelt und entsprechende Dokumentation wurde bereitgestellt. Aber die Dokumentation für die Android Studio-Bibliothek ist nicht sehr klar. Die Links sind link1 und link2


Was Mutable Daten ist und welchen Wert hat es zu halten? Im Moment aktualisiere oder modifiziere ich die Daten in meiner Datenbank. Ich brauche Werte an dem Knoten Beiträge zu aktualisieren und Benutzer

HashMap<String, Object> hm = new HashMap<>(); 
hm.put("https://stackoverflow.com/users/"+key+"/name/","New Name"); 
hm.put("/posts/"+key+"/number_of_posts/", 2); 
FirebaseDatabase.getInstance().getReference().updateChildren(hm, new DatabaseReference.CompletionListener() { 
    @Override 
    public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { 
     if(databaseError == null) 
      Log.d(TAG, "TASK WAS SUCCESSFULLY COMPLETED"); 
     else 
      Log.d(TAG, "SOMETHING WENT WRONG"); 
    } 
}); 

Ich weiß, das ist der falsche Weg, dies zu tun, so dass eine Erklärung oder ein Link zu einem Tutorial, dies zu tun wäre wirklich hilfreich.

+1

Die Dokumentation hat Firebase ein recht ordentliches Beispiel für Transaktionen hier: https://firebase.google.com/docs/database/android/read-and-write#save_data_as_transactions. Aber Transaktionen und Multipath-Updates unterscheiden sich von Natur aus, da [Transaktionen nur an einem einzigen Ort funktionieren] (http://stackoverflow.com/questions/39297884/how-cani-i-use-a-transaction-while-performing- a-Multi-Standort-Update-in-firebase). –

+0

Gibt es einen anderen sicheren Weg, wie ich Multi-Path-Updates durchführen kann? Oder ist meine derzeitige Methode der richtige Weg? –

Antwort

Verwandte Themen