使用android-async-http-master框架异步获取数据

来源:互联网 发布:丙肝化验单正常数据 编辑:程序博客网 时间:2024/06/11 06:00

private EditText username;


private EditText url;


private Button run;


@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

url=(EditText) this.findViewById(R.id.edit_url);

username = (EditText) this.findViewById(R.id.username);

run = (Button) this.findViewById(R.id.button1);

run.setOnClickListener(new OnClickListener() {


@Override

public void onClick(View v) {

AsyncHttpClient client = new AsyncHttpClient();

//传参

//Map<String,String> map=new HashMap<String,String>();//map.put("state", "ok");

//RequestParams param=new RequestParams(map);

//get方式异步发送请求,有get(url,param,handler),post方式也差不多

client.get(url.getText().toString(),

new AsyncHttpResponseHandler() {
//错误时跳入
@Override
public void onFailure(int arg0, Header[] arg1,
byte[] arg2, Throwable arg3) {
System.out.println(arg3.getMessage());
}

//无异常时跳入

// statusCode 返回状态200正常

// headers一般都放了系统设置的信息,key-value集合存储的

//responseBody返回的信息

@Override
public void onSuccess(int statusCode,
Header[] headers, byte[] responseBody) {

if (statusCode == 200) {
for (int i = 0; i < headers.length; i++) {
Header header = headers[i];
System.out.println("header------------Name:"+ header.getName()+ ",--Value:"+ header.getValue());
}
JSONObject json = JSON.parseObject(new String(responseBody));
username.setText(json.get("user").toString());
}
}

});

}

});

}
0 0