自己撸的代码,可以欢迎研讨学习与交流,
Demo经过了简单的调试,如果自己使用过觉得没问题,
可以应用,遇到问题欢迎讨论交流。
Simple的子库Net库,支持httpurlconnection和okhttp两种代理实现
功能主要包括,get请求,post表单,postJson,
post上传文件,post上传多文件,post参数文件混传等。
Github库:Simple
Gitee库:Simple
Jitpack主页:Simple
maven { url 'https://jitpack.io' }
implementation 'com.github.SnowJun.Simple:Net:1.0.3'
- Builder配置:
SimpleNetBuilder builder = new SimpleNetBuilder();
//设置网络代理 默认为httpurlconnection 目前支持okhttp和httpurlconnection两种
builder.setNetAgency(NetAgencyEnum.AGENCY_HTTPURLCONNECTION)
//添加公共header请求
.addHeader("header", "xxxxx")
//连接超时时间 单位毫秒
.connectTimeOut(10000)
//读超时时间
.readTimeOut(10000)
//写超时时间
.writeTimeOut(10000)
//一键https
.https()
//请求重试次数
.retryCount(3);
//使用builder初始化
SimpleNet.getInstance().init(builder);
- Get请求
Map<String, String> paras = new HashMap<>();
paras.put("id", "id111");
paras.put("code", "code222");
SimpleNet.get(URL + "/info").paras(paras).excute(new StringCallBack() {
@Override
public void onSuccess(String result) {
tvContent.setText(result);
}
@Override
public void onFail(String reason) {
SimpleLog.e("onFail:reason->" + reason);
}
@Override
public void onException(Exception e) {
SimpleLog.e("onException:e->" + e.getMessage());
}
});
tvContent.setText("请求中,请稍后...");
- Post表单参数,addHeader添加请求头
Map<String, String> paras = new HashMap<>();
paras.put("userName", "snowjun");
paras.put("password", "123456");
SimpleNet.postForm(URL + "/login").addHeader("session","aaaaa-bbbbb").paras(paras).excute(new StringCallBack() {
@Override
public void onSuccess(String result) {
tvContent.setText(result);
}
@Override
public void onFail(String reason) {
SimpleLog.e("onFail:reason->" + reason);
}
@Override
public void onException(Exception e) {
SimpleLog.e("onException:e->" + e.getMessage());
}
});
tvContent.setText("请求中,请稍后...");
- Post Json请求
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("userName", "SnowJun");
jsonObject.put("password", "123456");
} catch (JSONException e) {
e.printStackTrace();
}
SimpleNet
.<JSONObject>postJson(URL + "login1")
.json(jsonObject)
.excute(new StringCallBack() {
@Override
public void onSuccess(String result) {
tvContent.setText(result);
}
@Override
public void onFail(String reason) {
SimpleLog.e("onFail:reason->" + reason);
}
@Override
public void onException(Exception e) {
SimpleLog.e("onException:e->" + e.getMessage());
}
});
tvContent.setText("请求中,请稍后...");
- Post上传文件
SimpleNet.postFile(URL + "/uploadFile").file(file).excute(new StringCallBack() {
@Override
public void onSuccess(String result) {
tvContent.setText(result);
}
@Override
public void onFail(String reason) {
SimpleLog.e("onFail:reason->" + reason);
}
@Override
public void onException(Exception e) {
SimpleLog.e("onException:e->" + e.getMessage());
}
});
tvContent.setText("文件上传中..");
- Post上传多文件
MultiRequest request = SimpleNet.postMulti(URL + "/uploadFiles");
request.addFiles("files", files);
request.excute(new StringCallBack() {
@Override
public void onSuccess(String result) {
tvContent.setText(result);
}
@Override
public void onFail(String reason) {
SimpleLog.e("onFail:reason->" + reason);
}
@Override
public void onException(Exception e) {
SimpleLog.e("onException:e->" + e.getMessage());
}
});
tvContent.setText("多文件上传中..");
- Post参数文件混传
SimpleNet.postMulti(URL + "/uploadAndLogin")
.addParas("userName","snowjun")
.addParas("password","123456").addFile("file",file).excute(new StringCallBack() {
@Override
public void onSuccess(String result) {
tvContent.setText(result);
}
@Override
public void onFail(String reason) {
SimpleLog.e("onFail:reason->" + reason);
}
@Override
public void onException(Exception e) {
SimpleLog.e("onException:e->" + e.getMessage());
}
});
tvContent.setText("文件上传中..");
- Bitmap返回
SimpleNet.get("").excute(new BitmapCallback() {
@Override
public void onSuccess(Bitmap result) {
}
@Override
public void onFail(String reason) {
}
@Override
public void onException(Exception e) {
}
});
- File返回
SimpleNet.get("").excute(new FileCallBack("","") {
@Override
public void onProgress(int progress, long current, long size) {
}
@Override
public void onSuccess(File result) {
}
@Override
public void onFail(String reason) {
}
@Override
public void onException(Exception e) {
}
});
-dontwarn org.simple.net.**
-keep class org.simple.net.**{*;}
okhttp -dontwarn okhttp3.**
-keep class okhttp3.**{*;}
okio -dontwarn okio.**
-keep class okio.**{*;}