文章标题

虽然现在安卓爆炸了,但是哪行那业就业火爆两年后不爆炸呢?又能赚钱又舒服的工作那是属于关系户,自己一般家庭就别想那么多了,好好学,找个能吃饱饭的工作再一步步的提升就行了,以后的事情,谁知道呢。

开始路程把

因为以前看的黑马视频现在都加密,现在编程技术的更新换代日新月异,现在只好舍弃去某网看比较新的内容。
从两月前的头开始补吧,一步一步来,多想想叔叔怎么对你的,对想想爸妈在家干什么工作的!别好逸恶劳了,这样只会后悔终身,勉励。

这只是个人学习的一个记录,以前从来不用博客的,现在尝试记录下自己的路程吧。如果看到我太监了,也许是换行业了。

课程介绍:
HttpUrlConnection 网络接连 分为两种: get请求 和post请求


从服务器 请求数据:
1:实例化一个url对象
2:获取HttpConnection的实例
3:设置请求连接的相关属性
4:获取响应吗,判断是否连接成功
5:读取输入流并且解析数据

      /**
         * /5个步骤
         * 1:获取url对象实例
         * 2:创建HttpUrlConnection对象
         * 3:设置HttpUrlConnection相关的参数
         * 4: 获取响应吗 根据正确的响应?码做相关的读取
         * 5:读取获取到的数据
         */
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    URL url = new URL("http://www.imooc.com/api/teacher?type=3&cid=1");
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    //设置请求方式GET
                    conn.setRequestMethod("GET");
                    //设置读取超时6秒
                    conn.setReadTimeout(6000);
                    //网络连接成功
                    if(conn.getResponseCode() == 200){
                        //获取输入流对象
                        InputStream inputStream = conn.getInputStream();
                        //记录读取的长度
                        int len = 0;
                        byte[] b = new byte[1024*8];
                        //建立缓存流保存读取的数据
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
                        while ((len = inputStream.read(b)) > -1){
                            //每次读取大小,从0开始,最后结束位置
                            baos.write(b,0,len);
                        }
                        String meg = baos.toString();
                        Log.e("TAG",meg);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();JsonObject
1:原生解析Json数据
2:相关工具 如Gson 等

 //原生Object解析json数据   []集合   {}对象
 //msg 是一个对象的json数据  
        //JSONObject 对象
        JSONObject obj = new JSONObject(msg);
        //获取里面属性
        int status =obj.getInt("status");
        String msg2 =obj.getString("msg");
        Log.e("TAG","status:" +status);
        Log.e("TAG","msg2:" +msg2);
        //获取里面对象
        JSONObject data = obj.getJSONObject("data");
        String author =data.getString("author");
        String title = data.getString("title");
        String content = data.getString("content");
         Log.e("TAG","作者:" +author +"标题:" +title + "内容"+ content);


  1. Json的解析
JsonObject
1:原生解析Json数据
2:相关工具 如Gson 等

 //原生Object解析json数据   []集合   {}对象
 //msg 是一个对象的json数据  
        //JSONObject 对象
        JSONObject obj = new JSONObject(msg);
        //获取里面属性
        int status =obj.getInt("status");
        String msg2 =obj.getString("msg");
        Log.e("TAG","status:" +status);
        Log.e("TAG","msg2:" +msg2);
        //获取里面对象
        JSONObject data = obj.getJSONObject("data");
        String author =data.getString("author");
        String title = data.getString("title");
        String content = data.getString("content");
         Log.e("TAG","作者:" +author +"标题:" +title + "内容"+ content);

更新界面不能在子线程里面,使用Handler机制 发送一个消息,把对象传递到主线程里面更新UI

    //创建全局Handler对象 重建handlerMessage方法  在子线程用msg传递过来的数据更新UI
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            //获取msg里面的信息   主线程里面更新UI界面
            Content c = (Content) msg.obj;
            author.setText(c.author);
            title.setText(c.title);
            content.setText(c.content);
        }
    };


----------下面是在子线程中
     //获取一个message对象
     Message message = handler.obtainMessage();
     Content c = new Content(author,title,content);
     //保存对象到message
     message.obj =c ;
     //发送消息
     handler.sendMessage(message);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值