2016-01-23 2 views
1

я делаю логин, но мне нужно знать, когда Conection на сервере сбой , это мое событие кнопкиКак я могу узнать, правильна ли связь с сервером?

login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      usuario=(EditText)findViewById(R.id.etUsuario); 
      contrasena=(EditText)findViewById(R.id.etContrasena); 
      usuario_ws = usuario.getText().toString(); 
      pass_ws = contrasena.getText().toString(); 

      new HttpAsyncTask().execute(GET()); 


     } 
    }); 

и это мой AsyncTask для ответа моего сервера

private class HttpAsyncTask extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 

     return GET(); 

    } 
    // onPostExecute displays the results of the AsyncTask. 
    @Override 
    protected void onPostExecute(String result) { 
     // Toast.makeText(getBaseContext(), "Received!", Toast.LENGTH_LONG).show(); 
     // etResponse.setText(result); 
     Integer respuesta_ws = Integer.valueOf(result); 

     if (respuesta_ws>=1){ 
      sesionIn(); 
     } 
     else if (respuesta_ws==0){ 
      sesionFail(); 
     } 


    } 
} 
public String GET() { 

    String url = "http://"+ippref+":8080/WSAppInventario/webresources/inventario.users/Login/"+usuario_ws+"/"+pass_ws+""; 
    String result = ""; 
    BufferedReader inStream = null; 
    try { 
     HttpClient httpClient = new DefaultHttpClient(); 
     HttpGet httpRequest = new HttpGet(url); 
     HttpResponse response = httpClient.execute(httpRequest); 
     inStream = new BufferedReader(
       new InputStreamReader(
         response.getEntity().getContent())); 

     StringBuffer buffer = new StringBuffer(); 
     String line = ""; 
     //String NL = System.getProperty("line.separator"); 
     while ((line = inStream.readLine()) != null) { 
      buffer.append(line); 
     } 
     inStream.close(); 
     result = buffer.toString(); 
     respuesta_ws = Integer.valueOf(result); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return result; 
} 

строка ippref это объект, чтобы держать перед тем SharedPreferences

+0

вы просто получите исключение – has19

+0

в своем заявлении уловов попробовать, если соединение не удается просто справиться с этим в заявлении поймать – has19

+0

Но мне нужно напечатать с тостом на подключение к серверу не удалось, и не приложение остановлено, и нет, где в печати –

ответ

0

это должно работать

private class HttpAsyncTask extends AsyncTask<String, Void, String> { 

@Override 
protected String doInBackground(String... params) { 

    return GET(); 

} 
// onPostExecute displays the results of the AsyncTask. 
@Override 
protected void onPostExecute(String result) { 
    // Toast.makeText(getBaseContext(), "Received!", Toast.LENGTH_LONG).show(); 
    // etResponse.setText(result); 

    if (result=="failed"){ 
     sesionFail(); 
    } 
    else{ 
     sesionIn(); 
    } 


} 
} 
public String GET() { 

String url = "http://"+ippref+":8080/WSAppInventario/webresources/inventario.users/Login/"+usuario_ws+"/"+pass_ws+""; 
String result = ""; 
BufferedReader inStream = null; 
try { 
    HttpClient httpClient = new DefaultHttpClient(); 
    HttpGet httpRequest = new HttpGet(url); 
    HttpResponse response = httpClient.execute(httpRequest); 
    inStream = new BufferedReader(
      new InputStreamReader(
        response.getEntity().getContent())); 

    StringBuffer buffer = new StringBuffer(); 
    String line = ""; 
    //String NL = System.getProperty("line.separator"); 
    while ((line = inStream.readLine()) != null) { 
     buffer.append(line); 
    } 
    inStream.close(); 
    result = buffer.toString(); 
    respuesta_ws = Integer.valueOf(result); 
} catch (Exception e) { 

    e.printStackTrace(); 
    return "failed"; 
} 
return result; 
} 
+0

Спасибо большое, что действительно выглядел: D –

+0

u приветствуются. , , – has19