Я хочу обменять значение (у того же ребенка) в моей базе данных Firebase. В моей базе данных у меня есть v0, v1, v2, v3, v4, v5, и когда я нажимаю на свою кнопку, я хочу сделать это:
v1 = v2
v2 = v3
v3 = v4
v4 = v5
v5 = new_value
Я использую это, оно отлично работает, но слишком медленно ...
Я использую doTranslation в случае, когда 2 пользователя одновременно нажимают кнопку.
tampon = new_valeur;
acienvaleur = v5;
refplayer.child(id_player).child("v5").runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
String value = mutableData.getValue(String.class);
if (value == null) {
return Transaction.success(mutableData);
}
mutableData.setValue(tampon);
tampon = acienvaleur;
return Transaction.success(mutableData);
}
@Override
public void onComplete(DatabaseError databaseError, boolean b,
DataSnapshot dataSnapshot) {
refplayer.child(id_player).child("v4").runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
String value = mutableData.getValue(String.class);
if (value == null) {
return Transaction.success(mutableData);
}
mutableData.setValue(tampon);
tampon = value;
return Transaction.success(mutableData);
}
@Override
public void onComplete(DatabaseError databaseError, boolean b,
DataSnapshot dataSnapshot) {
refplayer.child(id_player).child("v3").runTransaction(new
Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
String value = mutableData.getValue(String.class);
if (value == null) {
return Transaction.success(mutableData);
}
mutableData.setValue(tampon);
tampon = value;
return Transaction.success(mutableData);
}
@Override
public void onComplete(DatabaseError databaseError, boolean b,
DataSnapshot dataSnapshot) {
refplayer.child(id_player).child("v2").runTransaction(new
Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData)
{
String value = mutableData.getValue(String.class);
if (value == null) {
return Transaction.success(mutableData);
}
mutableData.setValue(tampon);
tampon = value;
return Transaction.success(mutableData);
}
@Override
public void onComplete(DatabaseError databaseError, boolean b,
DataSnapshot dataSnapshot) {
refplayer.child(id_player).child("v1").runTransaction(new
Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData
mutableData) {
String value = mutableData.getValue(String.class);
if (value == null) {
return Transaction.success(mutableData);
}
mutableData.setValue(tampon);
tampon = value;
return Transaction.success(mutableData);
}
@Override
public void onComplete(DatabaseError databaseError,
boolean b,
DataSnapshot dataSnapshot) {
}
}
}
Есть ли у вас какое-либо решение, чтобы ускорить мои изменения? }
Json: до:
"v1" : "5",
"v2" : "12",
"v3" : "102",
"v4" : "444",
"v5" : "2",
после:
"v1" : "12",
"v2" : "102",
"v3" : "444",
"v4" : "2",
"v5" : "9999",