本帖最后由 hu397424529 于 2013-04-21 11:55:18 编辑

解决方案 »

  1.   

    你在android端是通过socket连接到tomcat服务器吗?你需要知道,android4.0版本不能在UI的线程里做socket ,而android以前的版本是可以的。你的问题应该出在这个地方。解决方法有2种,第一种是另起一个线程,完成socket通信。
    或者
    在oncreate里头增加如下代码:StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
    .detectDiskReads().detectDiskWrites().detectNetwork()
    .penaltyLog().build());
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
    .detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());
      

  2.   

    我用的不是socket通信,我是通过http协议连接的,HttpPost request = new HttpPost(url);
      

  3.   

    用http协议也可能出现这个问题,google sdk官方建议,不要把通信模块写在和ui同一个线程,你改成启动另一个线程试一下。我认为问题很大可能出现在这个地方。
      

  4.   

    我觉得是不是Tomcat和SDK不匹配。
      

  5.   

    4.0不能在主线程里试用http通信 方法就是在super.onCreate();前加上:StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()       
            .detectDiskReads()       
            .detectDiskWrites()       
            .detectNetwork()         
            .penaltyLog()       
            .build());       
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()       
            .detectLeakedSqlLiteObjects()    
            .penaltyLog()       
            .penaltyDeath()       
            .build());
    onCreate()方法前面加上@SuppressLint("NewApi")注解 就可以了 
      

  6.   

    你好,你的这种就是在super.onCreate();前加上:StrictMode.setThreadPolicy报错啊,我是在登录界面的添加了您说的那个的。不知道大哥有没有注意到
      

  7.   

    遇到同样问题,用android4.1真机运行连接不上,4.0和4.2模拟器都能连上,请问楼主解决了吗?
      

  8.   

    我的今晚开始搞了几个小时,也是连不上Tomcat,后来发现是我的 url写错了.我的 Android是4.2.2(是平板电脑,也相当于Android真机).