AsyncHttpClient的使用
不要做代碼的輪子
與其重復的寫代碼,不如利用別人寫好的代碼開發時更節省時間,最近從github上下載了一套代碼,http異步請求get,post請求,也可以用作文件上傳,很方便,感覺比較好,推薦給大家用
以登錄為例,代碼寫的可能不太好,試著應用一下
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.add("RequestType", "");
params.add("UserID", "-1");
params.add("NurseID", "-1");
params.add("HospitalId", "-1");
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("UserCode", username);
jsonObject.put("Password", password);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
params.add("RequestParam", jsonObject.toString());
client.get(path, params, new TextHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers,
String responseString) {
// TODO Auto-generated method stub
if (statusCode == 200) {
// Toast.makeText(getApplicationContext(),
// responseString, Toast.LENGTH_SHORT)
// .show();
Intent intent = new Intent();
intent.setClass(
getApplicationContext(),
MainActivity.class);
startActivity(intent);
} else {
Intent intent = new Intent();
intent.setClass(
getApplicationContext(),
MainActivity.class);
startActivity(intent);
}
} else {
Toast.makeText(getApplicationContext(),
msg, Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
Toast.makeText(getApplicationContext(),
"網絡連接超時", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(int statusCode, Header[] headers,
String responseString, Throwable throwable) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(),
responseString, Toast.LENGTH_SHORT).show();
} 1.聲明一個client對象,初始化
2.根據需要調用client中get,post請求
3,重寫onSuccess()和onFailure()方法
注:在https://github.com/AsyncHttpClient/async-http-client下載包,直接將library下的包直接粘貼到項目src下,直接調用即可
本文由用戶 mync 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!