简单写了个网络请求工具demo,方便以后新项目有网络需求快速搭建网络框架:
1.添加jar依赖:(可下载demo,从项目中拿,上传的是program,新建个项目导入即可)
- 配置build.gradle
3.AndroidManifest.xml配置网络权限
<uses-permission android:name="android.permission.INTERNET" />
4.之后就可有用了,有个简单的post请求范例,图片上传的工具里面有方法:
1)确保接口能用(我这个接口只是简单在我的服务器返回json数据);
2)封装好数据类型,以便json解析工具解析()
//数据类型封装
/**
* Created by lilin on 2016/12/24.
* func :
*/
public class BuzProfession {
private String name;
private String value;
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
//参数初始化
private List<BuzProfession> buzProfession = new ArrayList<>();
private static final String url = "http://113.105.131.249:27017/app/dict/getDepartments";
//请求网路
private void getInternetData() {
HashMap map = new HashMap<String, Object>();
map.put("type", 34);
HttpHelper.post(url, map, new RequestListener() {
@Override
public void onResponse(String response) {
Log.e("nxm", response);
String code = JsonUtils.getFieldValue(response, "code");
String codeResponse = JsonUtils.getFieldValue(response, "data");
if ("200".equals(code)) {
//请求成功
parsejson(codeResponse);
} else {
//清楚错误
}
}
@Override
public void onError(Request request, Exception e) {
//请求异常
Log.e("nxm", e.toString());
}
});
}
//解析数据
private void parsejson(String codeResponse) {
buzProfession = (List<BuzProfession>) JsonUtils.parseJsonToList(codeResponse, new TypeToken<List<BuzProfession>>() {
}.getType());
if (buzProfession.size() > 0) {
textView.setText(buzProfession.get(0).getName());
}
}
模拟的返回数据:(连接百度网站是有数据,证明连接成功,然后用模拟的数据模拟解析过程)
{“code”:”200”,”data”:[{“name”:”外科”,”id”:55,”dictId”:3,”value”:”1”},{“name”:”内科”,”id”:56,”dictId”:3,”value”:”2”},{“name”:”儿科”,”id”:57,”dictId”:3,”value”:”3”},{“name”:”妇产科”,”id”:58,”dictId”:3,”value”:”4”},{“name”:”精神科”,”id”:59,”dictId”:3,”value”:”5”},{“name”:”口腔科”,”id”:60,”dictId”:3,”value”:”6”},{“name”:”耳鼻喉科”,”id”:61,”dictId”:3,”value”:”7”}]}
资源下载地址:
http://download.csdn.net/download/qq_38355313/10177551