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

首先 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值