刚学习第三方插件async-http,今天我特地与大家来分享一下。
1.作为一个第三方控件,我们首先要添加依赖包
compile 'com.loopj.android:android-async-http:1.4.9'
2.我们需要创建一个实例来供我们调用
public class AsyncHttp {
public static final String httpurl="http://192.168.1.101:8890/type/jason/action/";
//写的是http网络接口,静态是因为是这一段http是一直不变的
public static void get(String httpurl, RequestParams params, AsyncHttpResponseHandler asyncHttpResponseHandler){
client.get(getAbsoulterUrl(httpurl),params,asyncHttpResponseHandler);
}
//http网络访问的公式:访问的网址=httpurl(固定不变的) + geturl
private static String getAbsoulterUrl(String geturl) {
return httpurl+geturl;
}
public static void post(Context context, java.lang.String httpurl, HttpEntity entity,String contentType, ResponseHandlerInterface responseHandler){
client.get(context,httpurl,entity,contentType,responseHandler);
}
}
3.访问网络
switch (view.getId()){
case R.id.http_btn:
RequestParams params=new RequestParams();
params.put("params","{\"classify_id\":70,\"page\":1,\"page_count\":2}");
AsyncHttp.get("categorylist", params, new TextHttpResponseHandler() {
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
Toast.makeText(MainActivity.this, "GG", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(int statusCode, Header[] headers, String responseString) {
Toast.makeText(MainActivity.this, responseString, Toast.LENGTH_SHORT).show();
}
});
break;
}
这里我是用GET的方式来访问网络,但是访问网络不仅仅只有get一种方法。我在实例中还写了一个post的方法。我们要根据接口文档给我们的方式来判定我们使用get还是post。
4.最后我们需要添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>