Android Firebase, bekomm einfach die Daten eines Kindes

Ich habe nach einem Weg gesucht, um ein Kind Objekt Daten in Android Firebase zu bekommen.

Ich habe Dinge gefunden, wie Firebase Kind Android abrufen . Alle Lösungen schlagen vor, einen "ChildEventListener" zu verwenden, aber ich muss diese Daten in diesem Moment bekommen, nicht wenn es verschoben, gelöscht, aktualisiert, etcetera ist.

  • Für die Ausführung von Eclipse muss ein Java Runtime Environment (JRE) oder ein Java Development Kit (JDK) verfügbar sein
  • Bestimmen Sie, ob eine Ansicht auf dem Bildschirm ist - Android
  • Android Dual Sim Emulator
  • Android Studio Vorschau Fenster nicht Rendering ActionBar?
  • Lange Klick auf ListFragment
  • Android-Tastatur verlassen
  • Meine Daten werden in https: //.firebaseio.com/users//creation als String gespeichert. Ich finde da muss ein einfacher Weg sein, um das zu erreichen, ohne zu viel zu tun, denn wenn ich die genaue URL in meinen Browser kopiere, kann ich die: 'creation:' ansehen 2015/05/31 21:33:55 '' Gleich dort in meinem "Firebase Forge Dashboard".

    Wenn jemand weiß, wie man darauf kommt, ohne einen Zuhörer für eine Veränderung, die geschätzt werden würde!

    Vielen Dank!

  • Ist Titanium Appcelerator es wert für die Entwicklung der Kamera basierte Anwendung auf ipad, iphone und Android?
  • Wie verwende ich das Swiping zwischen den Tabs auf Android?
  • Assets-Ordner in Android Studio?
  • Gradle-Fehler nach Studio-Update
  • EditText, klarer Fokus auf Berührung außerhalb
  • Wie kann ich mit Android EffectFactory Class arbeiten?
  • 4 Solutions collect form web for “Android Firebase, bekomm einfach die Daten eines Kindes”

    Firebase hört Feuer sowohl für die Anfangsdaten als auch für Änderungen.

    Wenn Sie die Daten in einer Sammlung synchronisieren ChildEventListener , verwenden Sie ChildEventListener . Wenn Sie ein einzelnes Objekt synchronisieren ValueEventListener , verwenden Sie ValueEventListener . Beachten Sie, dass in beiden Fällen sind Sie nicht "bekommen" die Daten. Sie synchronisieren es, was bedeutet, dass der Rückruf mehrfach aufgerufen werden kann: für die Anfangsdaten und wann immer die Daten aktualisiert werden.

    Dies ist in Firebase's Faststart Guide für Android abgedeckt. Der entsprechende Code und Zitat:

     FirebaseRef.child("message").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { System.out.println(snapshot.getValue()); //prints "Do you have data? You'll love Firebase." } @Override public void onCancelled(DatabaseError databaseError) { } }); 

    Im obigen Beispiel wird das Wertereignis einmal für den Anfangszustand der Daten ausgelöst und dann jedes Mal, wenn sich der Wert dieser Daten ändert.

    Bitte verbringen Sie ein paar Momente, um diesen schnellen Start zu durchlaufen. Es sollte nicht mehr als 15 Minuten dauern und es wird dich von vielen Kratzen und Fragen retten. Der Firebase Android Guide ist wahrscheinlich ein gutes nächstes Ziel, für diese Frage speziell: https://firebase.google.com/docs/database/android/read-and-write

    Sie lesen nicht direkt einen Wert. Sie können es mit .setValue() , aber es gibt kein .getValue () auf dem Referenzobjekt.

    Du musst einen Zuhörer benutzen. Wenn du den Wert nur einmal lesen möchtest, benutzt du ref.addListenerForSingleValueEvent() .

    Beispiel:

     Firebase ref = new Firebase("YOUR-URL-HERE/PATH/TO/YOUR/STUFF"); ref.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { String value = (String) dataSnapshot.getValue(); // do your stuff here with value } @Override public void onCancelled(FirebaseError firebaseError) { } }); 

    Quelle: https://www.firebase.com/docs/android/guide/retrieving-data.html#section-reading-once

    Nur spezifische Knotendaten abrufen und seine Arbeit perfekt für mich

     mFirebaseInstance.getReference("yourNodeName").getRef().addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) { Log.e(TAG, "======="+postSnapshot.child("email").getValue()); Log.e(TAG, "======="+postSnapshot.child("name").getValue()); } } @Override public void onCancelled(DatabaseError error) { // Failed to read value Log.e(TAG, "Failed to read app title value.", error.toException()); } }); 

    Ich speichere meine Daten auf diese Weise:

     accountsTable -> key1 -> account1 key2 -> account2 

    Um Objektdaten zu erhalten:

     accountsDb = mDatabase.child("accountsTable"); accountsDb.child("some key").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { try{ Account account = snapshot.getChildren().iterator().next() .getValue(Account.class); } catch (Throwable e) { MyLogger.error(this, "onCreate eror", e); } } @Override public void onCancelled(DatabaseError error) { } }); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.