目前Android开发过程中的网络框架层出不穷,选择的方式很广。目前很多服务端开发也进入了Restful API接口化,对于Restful API的接口建议读者使用Retrofit框架比较好,本文是主要针对非Restful API的一个轻量级网络封装库,并且删除了其他的请求方式仅保留了GET/POST请求,当然该库对于Restful API,照样可以使用。
欢迎加入交流群:微信群(AndroidRunner )、QQ群(314896948)
欢迎关注微信公众号:AndroidRunner
网络库主要包含两层:
- 基于okhttp的一层封装,主要是关于okhttp的一些配置和请求的封装;
- 另外一层就是提供给业务逻辑调用的管理类,这一层尽量力求调用者方便简单能够用一个方法调用完成网络的交互。
依赖库
compile 'com.squareup.okhttp:okhttp:2.7.5' //okhttp
compile 'com.squareup.okio:okio:1.8.0' //okio
compile 'com.alibaba:fastjson:1.2.7' //fastjson
调用##
/** GET */
public static void get(String url, IRequestCallback iRequestCallback);
/** GET-Silence */
public static void getSilence(String url, IRequestCallback iRequestCallback) ;
/** POST */
public static void post(String url, Map<String, String> paramMap, IRequestCallback iRequestCallback);
/** POST-Silence */
public static void postSilence(String url, Map<String, String> paramMap, IRequestCallback iRequestCallback);
/** download */
public static void download(String url, String filePath, IRequestCallback iRequestCallback);
/** download-Silence */
public static void downloadSilence(String url, String filePath, IRequestCallback iRequestCallback);
/** upload */
public static void upload(String url, Map<String, String> paramMap, Map<String, File> fileMap, IRequestCallback iRequestCallback);
/** upload-Silence */
public static void uploadSilence(String url, Map<String, String> paramMap, Map<String, File> fileMap, IRequestCallback iRequestCallback);
调用示例##
String url =
NetManager.get(url, new IRequestCallback<String>() {//<T> T can be a Javabean
@Override
public void onFailure(Exception e) {
// handle onFailure here
mContent.setText("error!");
}
@Override
public void onSuccess(String string) {
// handle onSuccess here
mContent.setText(string);
}
});
具体封装逻辑可以查看源码。