簡體   English   中英

我如何知道與服務器的連接是否正確?

[英]How i can know if the conection to server is correct or not?

我進行登錄,但是我需要知道何時服務器連接失敗,這是我的按鈕事件

 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());


        }
    });

這是我對服務器響應的異步任務

 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之前的對象

這應該工作

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM