zoukankan      html  css  js  c++  java
  • android,安卓get请求的提交以及我遇到的异常

    首先说明 我是安卓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());
                    
  • 相关阅读:
    MongoDB插入时间不正确的问题
    json 字符串转换成对象,对象转换成json字符串
    sqlServer sa用户登陆失败的解决办法
    基于web工作流开发
    javascript ajax的语法
    收藏和设为首页的方法
    asp.net收藏和设为首页的代码
    设计模式
    设计模式
    设计模式
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/4634567.html
Copyright © 2011-2022 走看看