android学习--操作http

    前天,把andorid的布局看了一下,大致是可以操作布局了,然后我就打算学习一下android下如何操作http与后台交互数据生气

    然后,我就百度了一下相关的文章,实际操作了一下get方式的请求

                    String strUrl = "http://baidu.com";		
                    try {

                        String tmp = null;
                        URL url = new URL(strUrl);
                            HttpURLConnection cn = (HttpURLConnection) url.openConnection();
                            cn.connect();
                            InputStreamReader in = new InputStreamReader(cn.getInputStream());
                            BufferedReader br = new BufferedReader(in);
                            String line   = null;
                            while((line = br.readLine()) != null) {
                            tmp += line;
                        }
                        
                        in.close();
                        cn.disconnect();
                    } catch (Exception e) {
                        Toast.makeText(getApplicationContext(), "ceshi", Toast.LENGTH_SHORT).show();
                    }


    然后给我报错   android.os.NetworkOnMainThreadException,没怎么看具体的单词,直接百度了一下,哦,原来android3.0以上,为了防止界面卡住ANR(新学的名词哦 Activity and Application Not Responding)默认是不允许在主线程中操作网络等耗时的行为。解决方法有两种,一个是让它可以在主线程中使用,另外一个就是开启一个子线程。

    开启一个子线程,但是子线程里是没法直接操作主线程的ui的,涉及到了android下多线程的操作,好吧,对于一个没怎么学过java的人来说,这些东西看着吃力。慢慢来吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值