头条数据切换

1.网络请求,发生给Handler
private void toutiao() {
    new Thread(){


        @Override
        public void run() {
            String path="http://www.toutiao.com/hot_words/";
            try {
                URL url = new URL(path);
                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.setReadTimeout(5000);
                urlConnection.setConnectTimeout(5000);
                int responseCode = urlConnection.getResponseCode();
                if (responseCode==200){
                    InputStream inputStream = urlConnection.getInputStream();
                    String s = convertStreamToString(inputStream);
                    Message m=Message.obtain();
                    m.obj=s;
                    m.what=0;
                    h.sendMessage(m);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }.start();
}
2.Handler接收;;;;;遍历数据;;;;展示在textview控件上;;;;;数据延时3秒,切换下条数
据




Handler h=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        if (msg.what==0){
            String obj = (String) msg.obj;
            //解析...android中json格式的数据只有两种,,一种是{}对应的,解析出来是对象;;;一种是[]对应的,这种是数组或者集合
            //1.集合或者数据在json原生解析,使用的JSONArray这个类...{}对应的在原声解析里面是JSONObject

            //2.使用gson解析数组格式的json字符串
            Gson gson = new Gson();
            Type type = new TypeToken<List<String>>(){}.getType();
            List<String> o = gson.fromJson(obj, type);
            for (int i=0;i<o.size();i++){
                list.addAll(o);
            }
            //设置第一条数据的显示
            tiao.setText(list.get(index));
            //发送一个延时的消息
            h.sendEmptyMessageDelayed(1,3000);
        }else if(msg.what==1){
            //接收到延时消息
            index++;
            index=index%list.size();
            tiao.setText(list.get(index));
            h.sendEmptyMessageDelayed(1,3000);
        }
    }
}; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值