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());
                    
  • 相关阅读:
    提出贷方,提出借方
    .Net反编译工具Reflector
    通过SQL Server的位运算功能巧妙解决多选查询
    使用.NET中的XML注释(一) XML注释标签讲解
    从网络中拷贝文件xcopy
    用netsh同步网络配置
    背书
    LINUX开启允许对外访问的网络端口的命令
    PHP在线生成二维码(google api)的代码
    linux常用disk磁盘操作命令(2013最新整理)
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/4634567.html
Copyright © 2011-2022 走看看