java - 我如何知道与服务器的连接是否正确?

标签 java android android-asynctask androidhttpclient

我进行了登录,但我需要知道服务器连接何时失败 ,这是我的按钮事件

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

关于java - 我如何知道与服务器的连接是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34968943/

相关文章:

java - Android TableView 和 TextView 作为单元格 - 如何将 TextView 设置为多行

java - 如何找出正在运行的 AsyncTask?

android - 错误读取json

java - 如何从 .jar 文件中读取 PDF

java - 是否可以从 application.properties 禁用 Spring Boot 的自动异常处理

java - 在 Eclipse 应用程序上启动时出现问题

android - 通过 IMDB API 使用改造

java - 下面代码中是通过什么方法将任务提交给Executor框架的?

android - 如何禁用 Android 中的 UI 组件?

android - 想要在来自 http 请求的 android 应用程序中显示泰卢固语内容