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

来源:互联网 发布:淘宝网pc客户端下载 编辑:程序博客网 时间:2024/06/06 03:58

首先 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;        }    }}


0 0
原创粉丝点击