2016-01-20 3 views
1

Я использую retrofit 2.0 для сетевого запроса в моем проекте. Прежде чем делать какие-либо запросы, я проверяю, подключен ли пользователь к сети, а затем только запрос.Как справиться с потерей сети в retrofit 2.0 в android

if(Connected()){ 
     Retrofit retrofit = new Retrofit.Builder() 
       .baseUrl("http://example.com/cgi-bin/") 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 

     APIService service = retrofit.create(APIService.class); 



     Call<ArrayList<Brand>> call = service.loadBrand(); 
     call.enqueue(new Callback<ArrayList<Brand>>() { 

      @Override 
      public void onResponse(Response<ArrayList<Brand>> response , Retrofit retrofit) 
      { 

       brands = response.body(); 

       //brands.size(); 
       //JSONArray jsonArray_GR = response.body(); 
       //arrayCallback.onResponse(jsonArray_GR); 
      } 



      @Override 
      public void onFailure(Throwable t) { 

      } 
     }); 
    } 

Проблема в том, как обращаться с корпусом, если сетевое соединение потеряно между ними, пока запрос еще не завершен.

Что я должен проверить и где?

Любая помощь будет оценена по достоинству.

+0

В методе 'onFailure' –

ответ

3
@Override 
    public void failure(RetrofitError arg0) { 

     if (arg0.getCause() instanceof UnknownHostException) { 
      //network loss in retrofit 2.0 in android 
     } 
    } 
Смежные вопросы