2016-11-19 3 views
-2

Ich weiß nicht, wo Problem istjava.io.EOFException: Ende der Eingabe in Zeile 1, Spalte 1 in Nachrüstung 2.0

{ 
    "success": "1", 
    "wallpapers": [ 
    { 
     "id": "1", 
     "image": "http://cyphersol.com/apps/ringtona/uploads/gallery/1477685052.jpg" 
    }, 
    { 
     "id": "2", 
     "image": "http://cyphersol.com/apps/ringtona/uploads/gallery/14776850521.jpg" 
    }, 
    { 
     "id": "3", 
     "image": "http://cyphersol.com/apps/ringtona/uploads/gallery/14776850522.jpg" 
    }, 
    { 
     "id": "4", 
     "image": "http://cyphersol.com/apps/ringtona/uploads/gallery/14776850523.jpg" 
    }, 
    { 
     "id": "5", 
     "image": "http://cyphersol.com/apps/ringtona/uploads/gallery/14776850524.jpg" 
    } 
    ] 
} 

Ich bin mit retrofit2.0 Schnittstelle

public interface ApiInterface { 

    @POST("getImages") 
    Call<WallPaperResponse> getWallpapers(@Query("id") int apiKey); 

} 

Client-api

public class ApiClient { 


    public static final String BASE_URL = "http://cyphersol.com/apps/ringtona/webservice/"; 
    private static Retrofit retrofit = null; 


    public static Retrofit getClient() { 
     if (retrofit==null) { 
      retrofit = new Retrofit.Builder() 
        .baseUrl(BASE_URL) 
        .addConverterFactory(GsonConverterFactory.create()) 
        .build(); 
     } 
     return retrofit; 
    } 
} 

Anruf um MainActivity

ApiInterface apiService = 
       ApiClient.getClient().create(ApiInterface.class); 

     Call<WallPaperResponse> call = apiService.getWallpapers(1); 
     call.enqueue(new Callback<WallPaperResponse>() { 
      @Override 
      public void onResponse(Call<WallPaperResponse> call, Response<WallPaperResponse> response) { 
       int statusCode = response.code(); 
       List<WallpapersItem> wallpaper = response.body().getWallpapers(); 

       for (int i = 0; i < wallpaper.size(); i++) { 

        Log.e(TAG, wallpaper.get(i).getImage()); 

       } 

       // recyclerView.setAdapter(new MoviesAdapter(movies, R.layout.list_item_movie, getApplicationContext())); 
      } 

      @Override 
      public void onFailure(Call<WallPaperResponse> call, Throwable t) { 
       // Log error here since request failed 
       Log.e(TAG, t.toString()); 
      } 
     }); 

enter image description here

Abhängigkeit

// retrofit, gson 
compile 'com.google.code.gson:gson:2.6.2' 
compile 'com.squareup.retrofit2:retrofit:2.0.2' 
compile 'com.squareup.retrofit2:converter-gson:2.0.2' 

Antwort

1

ich denke, das Ihnen helfen.

KingController mWebController = KingController.getInstance (this); Zeichenfolge apiToken = "1"; mWebController.getMainCategories (apiToken);

@GET ("getImages") Aufruf getWallpaperLis (@Header ("id") String api_token);

Regargs Rashid Ali

+0

dank Code arbeitet jetzt ... –

0

Ihre Web-Service erfordert id als Header gesendet werden, während Sie haben eher als Parameter POST gesendet. Daher hat Ihr Webdienst keine gültige Antwort und den Fehler zurückgegeben.

Lassen Sie mich wissen, ob das funktioniert.

public interface ApiInterface { 

     @GET("getImages") 
     Call<WallPaperResponse> getWallpapers(@Header("id") int apiKey); 

    } 

P. S Diese Seite verfügt über eine solide Dokumentation auf retorfit https://futurestud.io/tutorials/retrofit-2-manage-request-headers-in-okhttp-interceptor

Verwandte Themen