2017-02-03 1 views

Antwort

1

Fügen Sie diese auf Ihre Retrofit-Schnittstelle:

@GET("api/programming_languages") 
Call<List<String>> getLanguagesList(); 

Und es wie folgt verwenden:

Call<List<String>> languagesCall = service.getLanguagesList(); 
languagesCall.enqueue(new Callback<List<String>>() { 
    @Override 
    public void onResponse(Response<List<String>> response) { 
     List<String> languages = response.body(); 
    } 

    @Override 
    public void onFailure(Throwable t) { 

    } 
}); 

Es gibt viele andere Tutorials für Retrofit 2.0 so gehen und etwas finden.

+0

languagesCall.enqueue (neuer Rückruf () was soll ich verwenden , ich habe kein Modell dieses json. Ich konnte keine Modellklasse mit [link] erstellen (http://www.jsonschema2pojo.org/) URL für dieses JSON ist: http://api.technorio.com/tags Ich warte auf Ihre Hilfe @reaven –

+0

Es sollte "List " auch sein. Ich redigierte meine Antwort. – reaven

+0

Ja, es analysiert den String, aber wie beziehe ich ihn in RecyclerView? @Override public void onBindViewHolder (TagAdapter.Tag_ViewHolder-Inhaber, letzte int-Position) { holder.tagName.setText (Tags.get (position). Wie bekomme ich diesen Wert); } –

0

Sie haben die vollständige Dokumentation hier https://square.github.io/retrofit/ Sie können auch eine json nicht haben mit [ "", "", ""] Format. Was Sie haben können, ist ein Format wie [{"Sprache": "C"}, {"Sprache": "Python"} .... usw.] und analysieren Sie sie mit einem CustomAdapter für List/RecyclerView. Verwenden einer ArrayList oder ArrayList

+0

Ja, es gibt ["", ""] JSON-Typen, die mit Retrofit analysiert werden können. Sie können in diese http://stackoverflow.com/questions/28628513/how-to-parse-json-array-without-any-object-in-retrofit gehen –

+0

Es ist ein einfaches String-Array, Sie können nicht dieses Format der Antwort haben Wenn Sie Ihre Werte abbilden möchten, wenn nicht, dann zögern Sie nicht, sie zu verwenden. – Mike

0

Für zB Ihre API ist: @GET ("/ programming_languages") Anruf> groupList();

Dann sollten Sie nach dem Aufruf der groupList() Methode die Antwort wie erwartet erhalten.

+0

Können Sie mir bitte mehr im Detail erzählen. Jetzt verwende ich @GET ("/ tags") Anruf tags(); –

+0

Überprüfen Sie den Code Anruf call = groupList(); . call.enqueue (neue Rückruf () { public void onResponse (Call Anruf, Antwort Antwort) {Log.d (TAG, response.body() toString());} Öffentlichkeit Void onFailure (Anruf Anruf, Throwable t) { } }); –

+0

java.lang.RuntimeException: Die Aktivität konnte nicht gestartet werden ComponentInfo {com.example.hemraj.technorio_posts/com.example.hemraj.technorio_posts.activity.TagActivity}: java.lang.IllegalArgumentException: Es konnte kein Anrufadapter für die Schnittstelle retrofit2.Call erstellt werden für Methode ApiInterface.groupList –

Verwandte Themen