发送get请求
//创建异步的httpclient对象
AsyncHttpClient ahc = new AsyncHttpClient();
//发送get请求
ahc.get(path, new MyHandler());
-
注意AsyncHttpResponseHandler两个方法的调用时机
class MyHandler extends AsyncHttpResponseHandler{ //http请求成功,返回码为200,系统回调此方法 @Override public void onSuccess(int statusCode, Header[] headers, //responseBody的内容就是服务器返回的数据 byte[] responseBody) { Toast.makeText(MainActivity.this, new String(responseBody), 0).show(); } //http请求失败,返回码不为200,系统回调此方法 @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { Toast.makeText(MainActivity.this, "返回码不为200", 0).show(); } }
案例代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void get(View v){
EditText et_name = (EditText) findViewById(R.id.et_name);
EditText et_pass = (EditText) findViewById(R.id.et_pass);
final String name = et_name.getText().toString();
final String pass = et_pass.getText().toString();
String url = "http://192.168.13.13/Web/servlet/CheckLogin?name=" + URLEncoder.encode(name) + "&pass=" + pass;
//创建异步httpclient
AsyncHttpClient ahc = new AsyncHttpClient();
//发送get请求提交数据
ahc.get(url, new MyResponseHandler());
}
//响应处理器
class MyResponseHandler extends AsyncHttpResponseHandler{
//请求服务器成功时,此方法调用
@Override
public void onSuccess(int statusCode, Header[] headers,
byte[] responseBody) {
Toast.makeText(MainActivity.this, new String(responseBody), 0).show();
}
//请求失败此方法调用
@Override
public void onFailure(int statusCode, Header[] headers,
byte[] responseBody, Throwable error) {
Toast.makeText(MainActivity.this, "请求失败", 0).show();
}
}
}