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,在上边的代码对应的地方加入如下代码
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;
}
}
}
// 开始转圈
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;
}
}
}
相关文章推荐
- Http学习之使用HttpURLConnection发送post请求深入
- Http学习之使用HttpURLConnection发送post请求深入 .
- Http学习之使用HttpURLConnection发送post请求深入
- 使用HttpURLConnection通过GET、POST请求数据
- Http学习之使用HttpURLConnection发送post和get请求
- URL和HttpURLConnection的使用(向服务器发送请求,然后返回struts版)
- Http学习之使用HttpURLConnection发送post和get请求(1)
- java使用HttpURLConnection和HttpClient分别模拟get和post请求以及操作cookies
- Android使用HttpURLConnection发送Post请求到服务端
- 使用HttpURLConnection向服务器发送post和get请求(转)
- Java 中使用HttpURLConnection发起POST 请求
- 使用HttpUrlConnection进行post请求上传文件
- 使用HttpURLConnection开发自动发送Get、Post请求并获取响应
- 使用HttpURLConnection发送post和get请求
- Http学习之使用HttpURLConnection发送post和get请求(2)
- Http学习之使用HttpURLConnection发送post和get请求
- Http学习之使用HttpURLConnection发送post请求深入
- 使用HttpURLConnection采用Post方式请求数据
- Http学习之使用HttpURLConnection发送post和get请求 .
- Android开发之使用HttpURLConnection进行POST请求