compile 'com.loopj.android:android-async-http:1.4.9'
一个网络客户端访问类:
public class NetClient {
private static URL url ;
public static URL getRul() {
try
{
url = new URL(GlobalValue.IP + GlobalValue.SLASH + GlobalValue.SERVERPATH);
return url;
}
catch (MalformedURLException localMalformedURLException)
{
localMalformedURLException.printStackTrace();
return null;
}
}
private static final String BASE_URL = getRul().toString();
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}
public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.post(getAbsoluteUrl(url), params, responseHandler);
}
private static String getAbsoluteUrl(String relativeUrl) {
return BASE_URL + relativeUrl;
}
}
在另一个类中调用,并实现异步操作
NetClient.post("", requestParams, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String JsonResult = null;
try {
JsonResult = IOUtils.toString(responseBody, "utf-8");
} catch (IOException e) { e.printStackTrace();
}
String strResult = MainNet.this.localGson.fromJson(JsonResult,String.class);
if( strResult != null) {
MainNet.this.pMainActivity.onSendJsonRegisted(strResult);
}else{
Toast.makeText(MainNet.this.pMainActivity.getApplication(),"注册失败:服务器拒绝",Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Toast.makeText(MainNet.this.pMainActivity.getApplication(),"注册失败:联网失败",Toast.LENGTH_LONG).show();
}
});