Los datos no se guardan en Firebase desde la aplicación para Android
Tengo una aplicación existente que estoy intentando convertir para utilizar la base de datos de Firebase. He aquí un código que estoy usando cuando intento guardar un objeto:
... private FirebaseDatabase database; private DatabaseReference waypointRef; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... database = FirebaseDatabase.getInstance(); waypointRef = database.getReference(Utils.WAYPOINT_REFERENCE); waypointRef.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) { FBWaypoint wp = dataSnapshot.getValue(FBWaypoint.class); wp.setId(dataSnapshot.getKey()); Log.e(TAG, String.format("Child Added: %s, %s, %s, Prev: %s", wp.getName(), wp.getLatitude(), wp.getLongitude(), previousChildName)); } @Override public void onChildChanged(DataSnapshot dataSnapshot, String previousChildName) { FBWaypoint wp = dataSnapshot.getValue(FBWaypoint.class); Log.e(TAG, String.format("Child Changed: %s, %s, %s, Prev: %s", wp.getName(), wp.getLatitude(), wp.getLongitude(), previousChildName)); } @Override public void onChildRemoved(DataSnapshot dataSnapshot) { FBWaypoint wp = dataSnapshot.getValue(FBWaypoint.class); wp.setId(dataSnapshot.getKey()); Log.e(TAG, String.format("Child Removed: %s, %s, %s, Prev: %s", wp.getName(), wp.getLatitude(), wp.getLongitude())); } @Override public void onChildMoved(DataSnapshot dataSnapshot, String previousChildName) { FBWaypoint wp = dataSnapshot.getValue(FBWaypoint.class); Log.e(TAG, String.format("Child Moved: %s, %s, %s, Prev: %s", wp.getName(), wp.getLatitude(), wp.getLongitude(), previousChildName)); } @Override public void onCancelled(DatabaseError databaseError) { Log.e(TAG, "Failed to add Child Listener.", databaseError.toException()); } }); ... }
Después de crear un objeto, lo guardo así:
- Paginación del adaptador reciclador Firebase
- Obtener las últimas publicaciones / datos de firebase con límite de 10 registros en android y poblar en Listview
- Firebase keepSynced (true)
- El LED de notificación de Firebase parpadea
- ¿Cómo utilizar correctamente Firebase-Analytcs para las pruebas A / B?
waypointRef.push().setValue(wp);
Veo las devoluciones de llamada disparando en mis registros en este punto (junto con los valores de los IDs generados por firebase:
Child Added: Hrbrbe, 44.969846, -89.670527, Prev: null Child Added: Hdbece, 44.956019, -89.666436, Prev: -KInIzqk6m96lwVWF6Pc Child Added: Hebdbr R, 44.970372, -89.673188, Prev: -KInJ17sfsQ4v_fUrAW3
Sin embargo, no veo nada en la consola firebase para estos registros. También cuando reinicio la aplicación, la devolución de llamada onChildAdded no se dispara.
También he creado otra aplicación, que sólo contiene el código anterior … y que funciona bien. Así que no estoy seguro si algo que estoy haciendo en mi aplicación existente está afectando firebase? Sin embargo, no estoy seguro de lo que podría ser, ya que también tomó todas mis dependencias y ponerlos en el proyecto simple también.
¿Alguna idea sobre lo que puedo comprobar a continuación?
UPDATE: He añadido el onComplete Listener como se recomienda. Nunca se llama. Si agrego un FirebaseDatabase.purgeOutstandingWrites () después del setValue (), entonces el onComplete se llama con el siguiente error:
DatabaseError: The write was canceled by the user.
- Vista de búsqueda de Android en los datos de Firebase
- ¿Por qué obtengo "Falló al rebotar al escribir" cuando convertí JSON de Firebase en objetos Java?
- Leer datos de Firebase tarda mucho incluso con un pequeño conjunto de datos
- El perfil de FirebaseUser no se actualiza
- Firebase - Transmisión de información de la actividad con persistencia activada
- Android Firebase Cloud Messaging (FCM): ¿SuscribeToTopic hará intentos automáticos?
- Java.util.zip.ZipException: entrada duplicada con firebase
- Google firebase comprueba si el niño existe
Bueno, solo lo averigüé. Pensando que había una diferencia entre mis dos proyectos era un arenque rojo. La diferencia real fue entre los dos dispositivos que estaba desplegando los dos proyectos. El dispositivo de trabajo estaba en una conexión celular. El dispositivo que no funcionaba estaba en nuestra red wifi corporativa detrás de un proxy.
Tengo el proxy configurado correctamente en el dispositivo, y puedo acceder a sitios externos … sin embargo, parece que firebase no utiliza la fuente de configuración de proxy.
¡Sería genial si Firebase usara la configuración de proxy del dispositivo!
- Uso de PlaceFilter para Android con la API de Google Places
- Proyectos de la Biblioteca de Android y tener que actualizar manualmente