码迷,mamicode.com
首页 > 移动开发 > 详细

android,安卓get请求的提交以及我遇到的异常

时间:2015-07-10 00:18:02      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

首先说明 我是安卓4.0以上的版本,这个时候直接用网上的代码会报错的,先赋上网上的普遍代码

 1 String uri = "http://url";
 2 HttpGet httpGet = new HttpGet(uri);
 3 Log.e("zllmsg","new httpGet");
 4 try {
 5 HttpResponse hr = new DefaultHttpClient().execute(httpGet);
 6 int returnCode = hr.getStatusLine().getStatusCode();
 7 if(returnCode==200){//200就是返回了正常的时候
 8 Log.e("zllmsg", "woshi 200");
 9 String fanhuijieguo = EntityUtils.toString(hr.getEntity());//获取服务器返回的东西
10 Log.e("zllmsg",fanhuijieguo);
11                         
12 }else{
13 Log.e("zllmsg", "woshi no");
14 }
15 } catch (ClientProtocolException e) {
16 // TODO Auto-generated catch block
17 Log.e("zllmsg", e.getMessage());
18 } catch (IOException e) {
19 // TODO Auto-generated catch block
20 Log.e("zllmsg", e.getMessage());
21 }

这个时候如果是4.0之前的,应该没什么问题,如果是4.0以后会报错,网上说是因为4.0已经不允许在主线程去访问网络,是为了防止程序假死还是什么的,反正意思就是另开一个线程去搞,所以就在上面代码的前面加上以下代码就好了,具体不是太明白意思,大概就是另开一个线程之类的

StrictMode.setThreadPolicy (new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork() .penaltyLog().build());
StrictMode. setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());
                

 

android,安卓get请求的提交以及我遇到的异常

标签:

原文地址:http://www.cnblogs.com/zonglonglong/p/4634567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!