2016-07-30 2 views
1

erste Mal, dass ich mit dem Feuer Basis arbeite, wenn die Daten abzurufen, ich versuche, mit Feuer Basis Rest apis ich die Antwort wie diese zu erhalten,Wie Sie die Daten aus der Firebase-Datenbank mithilfe von REST-APIs in Android abrufen?

{ 
    "-JQjT7REctmFfOAoGI6d" : { 
    "age" : "23", 
    "name" : "xxx", 
    "id" : "1" 
    }, 
    "-JQjT7RGTUdl1FTrjed6" : { 
    "age" : "34", 
    "name" : "xxx", 
    "id" : "1" 
    } 
} 

es mehrere json Objekte mit diffrent-IDs enthalten, ohne jsonarray.i wollen um diese Daten in Objekten zu speichern.

+0

Haben Sie den auf der Firebase-Site angegebenen Beispielcode zum Datenabruf verwendet? – Talha

+0

Ich möchte nicht Firebase Lib verwenden, ich möchte Firebase Rest Apis nur – Rgv

+0

versuchen meine Antwort !! –

Antwort

2
you can access data by mainly 3 ways 
1 addValueEventListener 
2 addChildEventListener 
3 addListenerForSingleValueEvent 

Schritt 1: Erstellen Modell Klasse

public class UserModel { 

    String id; 
    String name; 
    String age; 

    public String getId() { 
     return id; 
    } 

    public void setId(String id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getAge() { 
     return age; 
    } 

    public void setAge(String age) { 
     this.age = age; 
    } 
} 

Schritt 2: Zugriff auf Daten in Aktivität

Firebase firebaseUserDataReference = new Firebase("your firebase url").child("your root name/"); 

firebaseUserDataReference.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 

       Log.d("Call", String.valueOf(dataSnapshot.getValue())); 
       for (DataSnapshot postData : dataSnapshot.getChildren()) { 
        UserModel userModel= postData.getValue(UserModel.class); 
        yourArrayList.add(userModel); 
       }    
      } 

      @Override 
      public void onCancelled(FirebaseError firebaseError) { 

      } 
     }); 
+0

danke für Ihre Wiederholung, tut mir leid, ich möchte nicht mit Firebase lib, ich will Firebase Rest apis nur – Rgv

+0

Rest api ist für das Web! Wenn Sie Firebase in Android verwenden möchten, müssen Sie Firebase Lib in Gradle Abhängigkeit hinzufügen! –

+0

bist du sicher, gibt es einen anderen Weg für Android Rest apis – Rgv

3

Wenn Sie Problem haben, nur weil der Schlüssel in das Parsen dann Sie können einen Iterator verwenden und die Schlüssel extrahieren und sie analysieren

if(jObj != null){ 
    Iterator<Object> keys = jObj.keys(); 
    while(keys.hasNext()){ 
     String key = String.valueOf(keys.next()); // this will be your JsonObject key 
     JSONObject childObj = jObj.getJSONObject(key); 
     if(childObj != null){ 
      //Parse the data inside your JSONObject 
     } 
    } 
} 
+0

Vielen Dank für Ihre Wiederholung, ich werde versuchen, diese – Rgv

+0

, ihre ArbeitDanke, Vishal Patoliya sagte direkt Rest api wird nicht von firebase.your Sloution Arbeit unterstützt für mich, was ist der richtige Weg, dies zu tun – Rgv

+0

Wenn Sie Firebase verwenden, dann ist es ratsam, entsprechend ihrem Dokument zu verwenden. Also fügen Sie besser ihre Bibliothek hinzu und parsen entsprechend ihrem Dokument. – Kunu

Verwandte Themen