您的位置:首页 > 理论基础 > 计算机网络

httpURLConnection post请求 然后使用Gson转换成想要的class

2017-04-27 18:10 218 查看
首先 httpURLConnection post请求

// 开始转圈
final ProgressDialog dialog = ProgressDialog.show(this,null, "加载中");
// 在分线程中请求数据
new Thread(){
public void run(){
// 获取URL
URL url;
try {
url = new URL("http://pkuie.euming.com/urming_pkuie/system/getMyIndex?offset=0&pageSize=10&accessToken=WZ2B_Z8dCw2TveUu6WOM6cCfvbgLvcYG6A6fywmL6cYpvbY&_=1477736373144");
// 得到URLConnection
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求的方式 响应时长 读取时长
connection.setConnectTimeout(2000);
connection.setReadTimeout(2000);
connection.setRequestMethod("POST");
// 开启连接
connection.connect();
// 设置请求的参数
OutputStream outputStream2 = connection.getOutputStream();
String paramsString = "?offset=0&pageSize=10&accessToken=WZ2B_Z8dCw2TveUu6WOM6cCfvbgLvcYG6A6fywmL6cYpvbY&_=1477736373144";
outputStream2.write(paramsString.getBytes());
// 得到数据的输入流
InputStream inputStream = connection.getInputStream();
// 将流进行写入操作
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while((len=inputStream.read(buffer))!=-1){
outputStream.write(buffer, 0, len);
}
// 将数据转化成String
final String string = outputStream.toString();
// 关闭流
outputStream.close();
inputStream.close();
// 关闭连接
connection.disconnect();
// 在主线程中关闭dialog 显示数据 runOnUiThread(new Runnable() { public void run() {dialog.dismiss();
Log.e("sb", string);
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
然后使用gson 获取想要的class,在上边的代码对应的地方加入如下代码

// 在主线程中关闭dialog 显示数据
runOnUiThread(new Runnable() {
public void run() {

//创建Gson
Gson gson = new Gson();

//得到实体
ConvertVipSucessBean convertVipSucessBean = gson.fromJson(string, ConvertVipSucessBean.class);
Log.e("s========", convertVipSucessBean.getData().getVipenddate());

//得到相应的实体 然后更新UI
updateUI(convertVipSucessBean.getData().getVipenddate(),vipvirtualprise);
}
});


class 实体长这样子

package com.ctri.ui.shopping.entity.order;

/**
* Created by ban on 2017/2/10.
*/

public class ConvertVipSucessBean {

/**
* data : {"vipenddate":"2042-10-13 16:01:39","vipendtime":2296800099488,"isvip":1}
* errorCode : 1001
* errorMessage : 请求成功
* sTime : 1493281357281
*/

private DataBean data;
private int errorCode;
private String errorMessage;
private long sTime;

public DataBean getData() {
return data;
}

public void setData(DataBean data) {
this.data = data;
}

public int getErrorCode() {
return errorCode;
}

public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}

public String getErrorMessage() {
return errorMessage;
}

public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}

public long getSTime() {
return sTime;
}

public void setSTime(long sTime) {
this.sTime = sTime;
}

public static class DataBean {
/**
* vipenddate : 2042-10-13 16:01:39
* vipendtime : 2296800099488
* isvip : 1
*/

private String vipenddate;
private long vipendtime;
private int isvip;

public String getVipenddate() {
return vipenddate;
}

public void setVipenddate(String vipenddate) {
this.vipenddate = vipenddate;
}

public long getVipendtime() {
return vipendtime;
}

public void setVipendtime(long vipendtime) {
this.vipendtime = vipendtime;
}

public int getIsvip() {
return isvip;
}

public void setIsvip(int isvip) {
this.isvip = isvip;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: