Cómo comprobar si la tarea de escritura tuvo éxito en Firebase

Soy totalmente nuevo en Firebase y necesito saber cómo comprobar si mi tarea de escritura fue exitosa porque si no lo hago, la MainActivity comienza y desordena mi progreso de Register .

Esto comprueba si el nombre de Username ya se ha tomado y registra al usuario si no lo es:

 Query usernamequery = myRef.orderByChild("Username").equalTo(Username); usernamequery.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { if (snapshot.exists()) { // TODO: handle the case where the data already exists editText.setError("Username taken!"); return; } else { // TODO: handle the case where the data does not yet exist myRef.child("Users").child(Username).child("Userid").setValue(user.getUid()); myRef.child("Users").child(Username).child("Username").setValue(Username); startActivity(maps); finish(); } } @Override public void onCancelled(DatabaseError databaseError) { Toast.makeText(Username.this, "Error", Toast.LENGTH_LONG).show(); } }); 

Pero quiero que el Intent to Main Activity (mapas) sólo se dispare cuando myRef.child("Users").child(Username).child("Userid").setValue(user.getUid());

y el otro está terminado con su tarea y tiene éxito.

¿Que puedo hacer?

Para saber cuándo se ha completado una operación de escritura, agregue un escucha de finalización:

 myRef.child("Users").child(Username).child("Userid").setValue(user.getUid(), new DatabaseReference.CompletionListener() { void onComplete(DatabaseError error, DatabaseReference ref) { System.out.println("Value was set. Error = "+error); } }); 

Si desea escribir en varias ubicaciones con una sola operación, desee examinar el método update() : https://firebase.google.com/docs/database/android/read-and-write#updating_or_deleting_data

La sobrecarga correcta para setValue() se documenta aquí: https://firebase.google.com/docs/reference/android/com/google/firebase/database/DatabaseReference.html#setValue(java.lang.Object,%20com. google.firebase.database.DatabaseReference.CompletionListener)

  • Firebase Storage - StorageReference.getFile () se bloquea cuando el dispositivo está desconectado
  • Cómo utilizar el adaptador de lista de Firebase
  • FireBase onDataChange no se llama aplicación de apertura después de algún tiempo
  • FirebaseRecyclerAdapter no actualiza los índices de elementos cuando se eliminan los datos
  • Uso de GeoFire para rellenar Firebase Recycler View en android
  • Crear usuario en la base de datos después de Firebase Auth (android)
  • Comportamiento incoherente de la base de datos en tiempo real de Firebase en modo sin conexión
  • Cómo excluir el elemento de un FirebaseRecyclerAdapter
  • Inicialización de FirebaseApp en Firebase Android
  • FirebaseRecyclerAdapter con vista vacía
  • Configuración de Proguard para la biblioteca Firebase-UI
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.