2016-11-19 1 views
-2

Я не знаю, где проблемаjava.io.EOFException: Конец ввода в строке 1 колонки 1 в модификации 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" 
    } 
    ] 
} 

Я использую retrofit2.0 интерфейс

public interface ApiInterface { 

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

} 

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; 
    } 
} 

Позвоните, чтобы 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

зависимость

// 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' 

ответ

1

Я думаю, что это поможет.

KingController mWebController = KingController.getInstance (this); Строка apiToken = "1"; mWebController.getMainCategories (apiToken);

@GET ("getImages") Вызов getWallpaperLis (@Header ("id") String api_token);

Regargs Рашид Али

+0

код спасибо работает сейчас ... –

0

Ваш веб-сервис требуется идентификатор, который будет послан как HEADER Пока вы скорее послал его в качестве параметра POST. Следовательно, ваш веб-сервис не вернул действительный ответ и ошибку.

Дайте мне знать, если это работает.

public interface ApiInterface { 

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

    } 

P.S Этот сайт имеет солидную документацию по retorfit https://futurestud.io/tutorials/retrofit-2-manage-request-headers-in-okhttp-interceptor

Смежные вопросы