Недавно я начал использовать библиотеку FirebaseDatabase на Android Studio. Итак, я прочитал, что, когда вы обновляете или изменяете несколько местоположений в своей базе данных Firebase, в случае возникновения какой-либо ошибки и для обеспечения того, чтобы данные не были изменены в некоторых местах и не были изменены в других, используются транзакции.
Firebase - Multi Path Update с использованием транзакций в Android Studio
Сделки в JavaScript были тщательно и тщательно обработаны. Но документация для библиотеки Android Studio не очень понятна. Ссылки являются link1 и link2
Что Изменяемые данные и какое значение это держать? Прямо сейчас, это то, как я обновляю или изменяю данные в своей базе данных. Мне нужно обновить значения в узлах и сообщений пользователя
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");
}
});
Я знаю, что это неправильный способ сделать это, так что объяснение или ссылку на учебник, чтобы сделать это было бы очень полезно.
Документация Firebase содержит довольно приличный пример транзакций здесь: https://firebase.google.com/docs/database/android/read-and-write#save_data_as_transactions. Но транзакции и многопутевые обновления по-разному различаются, поскольку [транзакции работают только в одном месте] (http://stackoverflow.com/questions/39297884/how-can-i-use-a-transaction-while-performing- а-мультиместоположения-обновление-в-firebase). –
Так есть ли другой безопасный способ, которым я могу выполнять многопутевые обновления? Или мой текущий метод - правильный способ сделать это? –