Autore Topic: Firebase onDataChange non viene eseguito  (Letto 202 volte)

Offline Raffaele Stabile

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Asus ZenFone
  • Sistema operativo:
    Ubuntu 16.04
Firebase onDataChange non viene eseguito
« il: 09 Giugno 2016, 11:00:15 CEST »
0
Ciao a tutti! E' il mio primo primo post sul forum. Qualcuno che conosce firebase
può aiutarmi a capire questo problema?

Ho creato una activity con questo semplice codice:

Firebase ref = new Firebase("https://la mia url");

  ref.addValueEventListener(new ValueEventListener() {
      @Override
      public void onDataChange(DataSnapshot snapshot) {
          for (DataSnapshot postSnapshot: snapshot.getChildren()) {
            //le mie azioni
          }
      }
      @Override
      public void onCancelled(FirebaseError firebaseError) {
          System.out.println("The read failed: " + firebaseError.getMessage());
      }
  });

Non capisco perchè non viene eseguito il metodo onDataChange e quindi non vengono letti i dati dal db.
Ho fatto una prova in scrittura e funziona.

Le rules su firebase sono quelle standard:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Non ho errori.
Grazie per il supporto.

Post unito: 10 Giugno 2016, 09:58:05 CEST
Credo di aver capito il problema, in realtà il metodo viene eseguito ma i dati sono disponibili 4-5 secondi dopo la visualizzazione della GUI, credo perché la quantità di dati da caricare sia molta.
Per questo ho pensato di mettere qualcosa tipo un semaforo che visualizza la gui solo dopo aver caricato i dati e durante il caricamento mostrare un un messaggio con tipo una rotella che gira che avvisa l'utente di attendere. Potete darmi qualche indicazione su come procedere?
« Ultima modifica: 10 Giugno 2016, 09:58:05 CEST da Raffaele Stabile, Reason: Merged DoublePost »

Offline juanito21

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Sistema operativo:
    4.1.2
Re:Firebase onDataChange non viene eseguito
« Risposta #1 il: 12 Giugno 2016, 11:41:40 CEST »
0
Ciao , innanzitutto aggiorna il tuo codice con le nuove api uscite da poco, poi posta il nuovo codice.

È consigliabile non ascoltare cambiamenti di tanti dati appunto per via del tempo di lettura.

Offline Raffaele Stabile

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Asus ZenFone
  • Sistema operativo:
    Ubuntu 16.04
Re:Firebase onDataChange non viene eseguito
« Risposta #2 il: 12 Giugno 2016, 11:55:12 CEST »
0
Infatti mi aiutate a capire come inizializzare la mia lista alla avvio della app e poi mantenerla in memoria per utilizzarla nelle altre activity? Tipo un oggetto session per le servlet  per intenderci.