把错误的日志 贴上来看看 是哪里出的问题 不过我这里猜测一下 : 
你的模拟器的Android 版本是 2.x 的 , 手机 的Android 版本 是 4.x
在 4.x 中 与网络有关的操作必须放在线程里面进行, 而 2.x 可以直接在主线程中运行网络相关的操作; 
你的网络相关操作写在主线程了, 这个可能是你出现闪退的原因

解决方案 »

  1.   


    如果是这样,程序应该怎么调整呢?我刚刚接触,你说的我对不上我感觉两种可能:第一种就是1楼说的线程;
    你去搜索一下 android AsyncTask 或者android Thread的资料;    把与服务器交互的耗时操作放到线程中去;第二你可以查看一下你在AndroidManifest.xml中的权限配置;是否配置了INTERT权限 如果你在本地的有存储操作,是否有本地的存储操作权限
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>同时你可以用真机进行debug调试,看看问题到底在哪里!
      

  2.   

    public void onCreate(Bundle savedInstanceState) { 
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            listView = (ListView) findViewById(R.id.listView);         new Thread(){  
             public void run(){  
             Message msg=new Message(); 
             msg.what=0x123; 
             msg.obj="abcd"; 
             myhandler.sendMessage(msg); 
             }  
            }.start();  
            //setListView();}
           
    }
        final Handler myhandler=new Handler(){      public void handleMessage(Message msg){ 
         setListView();//通过webservice 与数据库交互
         } 
        };
    private void setListView() { 
    listView.setVisibility(View.VISIBLE);
    list = dbUtil.getContainerInfo("货柜号");
    adapter = new SimpleAdapter(
    MianActivity.this, 
    list, 
    R.layout.adapter_item,  
    new String[] { "LName"}, 
    new int[] { R.id.txt_Cname}); listView.setAdapter(adapter);
    }
     
    改成这样,装到手机上还是闪退啊
      

  3.   

    看LogCat上面肯定把错误都输出了,不要被闪退纠结了,就是意思出错了!
      

  4.   


    07-05 00:58:46.576: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 72K, 49% free 3191K/6215K, external 2107K/2137K, paused 70ms
    07-05 00:58:47.055: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 63K, 47% free 3297K/6215K, external 2670K/2680K, paused 60ms
    07-05 00:58:47.394: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 13K, 47% free 3303K/6215K, external 3364K/3373K, paused 105ms
    07-05 00:58:47.834: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 15K, 47% free 3331K/6215K, external 4243K/4254K, paused 74ms
    07-05 00:58:48.664: W/KeyCharacterMap(120): No keyboard for id 0
    07-05 00:58:48.664: W/KeyCharacterMap(120): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

    07-05 00:58:48.994: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 76K, 45% free 3465K/6215K, external 5273K/5338K, paused 112ms
    07-05 00:58:50.119: W/KeyCharacterMap(120): No keyboard for id 0
    07-05 00:58:50.119: W/KeyCharacterMap(120): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
    07-05 00:58:54.355: I/ActivityManager(68): Starting: Intent { cmp=com.kingdee.namespace/.MianActivity } from pid 332
    07-05 00:58:54.545: D/dalvikvm(332): GC_EXTERNAL_ALLOC freed 183K, 52% free 2636K/5447K, external 1795K/2137K, paused 70ms
    07-05 00:58:55.545: I/System.out(332): <?xml version="1.0" encoding="utf-8"?
    07-05 00:58:55.545: I/System.out(332): soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    07-05 00:58:55.555: I/System.out(332): soap:Body
    07-05 00:58:55.555: I/System.out(332): getContainerInfoResponse xmlns="http://tempuri.org/"
    07-05 00:58:55.555: I/System.out(332): getContainerInfoResult
    07-05 00:58:55.566: I/System.out(332): 0
    07-05 00:58:55.566: I/System.out(332): string>2014001000001</string
    07-05 00:58:55.566: I/System.out(332): string>张三</string
    07-05 00:58:55.575: I/System.out(332): string>2014001000002</string
    07-05 00:58:55.575: I/System.out(332): string>张三</string
    07-05 00:58:55.575: I/System.out(332): string>2014001000003</string
    07-05 00:58:55.575: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): string>2014001000004</string
    07-05 00:58:55.585: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): string>2014001000005</string
    07-05 00:58:55.585: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): string>2014001000006</string
    07-05 00:58:55.585: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): /getContainerInfoResult
    07-05 00:58:55.585: I/System.out(332): 1
    07-05 00:58:56.185: I/ActivityManager(68): Displayed com.kingdee.namespace/.MianActivity: +1s811ms
      

  5.   

    07-05 00:58:46.576: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 72K, 49% free 3191K/6215K, external 2107K/2137K, paused 70ms
    07-05 00:58:47.055: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 63K, 47% free 3297K/6215K, external 2670K/2680K, paused 60ms
    07-05 00:58:47.394: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 13K, 47% free 3303K/6215K, external 3364K/3373K, paused 105ms
    07-05 00:58:47.834: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 15K, 47% free 3331K/6215K, external 4243K/4254K, paused 74ms
    07-05 00:58:48.664: W/KeyCharacterMap(120): No keyboard for id 0
    07-05 00:58:48.664: W/KeyCharacterMap(120): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

    07-05 00:58:48.994: D/dalvikvm(120): GC_EXTERNAL_ALLOC freed 76K, 45% free 3465K/6215K, external 5273K/5338K, paused 112ms
    07-05 00:58:50.119: W/KeyCharacterMap(120): No keyboard for id 0
    07-05 00:58:50.119: W/KeyCharacterMap(120): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

    07-05 00:58:54.355: I/ActivityManager(68): Starting: Intent { cmp=com.kingdee.namespace/.MianActivity } from pid 332
    07-05 00:58:54.545: D/dalvikvm(332): GC_EXTERNAL_ALLOC freed 183K, 52% free 2636K/5447K, external 1795K/2137K, paused 70ms
    07-05 00:58:55.545: I/System.out(332): <?xml version="1.0" encoding="utf-8"?
    07-05 00:58:55.545: I/System.out(332): soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    07-05 00:58:55.555: I/System.out(332): soap:Body
    07-05 00:58:55.555: I/System.out(332): getContainerInfoResponse xmlns="http://tempuri.org/"
    07-05 00:58:55.555: I/System.out(332): getContainerInfoResult
    07-05 00:58:55.566: I/System.out(332): 0
    07-05 00:58:55.566: I/System.out(332): string>2014001000001</string
    07-05 00:58:55.566: I/System.out(332): string>张三</string
    07-05 00:58:55.575: I/System.out(332): string>2014001000002</string
    07-05 00:58:55.575: I/System.out(332): string>张三</string
    07-05 00:58:55.575: I/System.out(332): string>2014001000003</string
    07-05 00:58:55.575: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): string>2014001000004</string
    07-05 00:58:55.585: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): string>2014001000005</string
    07-05 00:58:55.585: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): string>2014001000006</string
    07-05 00:58:55.585: I/System.out(332): string>张三</string
    07-05 00:58:55.585: I/System.out(332): /getContainerInfoResult
    07-05 00:58:55.585: I/System.out(332): 1
    07-05 00:58:56.185: I/ActivityManager(68): Displayed com.kingdee.namespace/.MianActivity: +1s811ms
      

  6.   

    囧 你开启一个线程发送消息 让handler来访问网络- -这不是和没开线程一样嘛  你应该在线程里面访问网络
    new Thread(){  
             public void run(){                        list = dbUtil.getContainerInfo("货柜号");
             Message msg=new Message(); 
             msg.what=0; 
             myhandler.sendMessage(msg); 
             }  
            }.start();  然后再在handler里面设置listview
    public void handleMessage(Message msg){ 
               switch(msg.what){
                    case 0:
                           listView.setVisibility(View.VISIBLE);
            adapter = new SimpleAdapter(
                    MianActivity.this, 
                    list, 
                    R.layout.adapter_item,  
                    new String[] { "LName"}, 
                    new int[] { R.id.txt_Cname});
                    listView.setAdapter(adapter);
                }
            } 
      

  7.   

    囧 你开启一个线程发送消息 让handler来访问网络- -这不是和没开线程一样嘛  你应该在线程里面访问网络
    new Thread(){  
             public void run(){                        list = dbUtil.getContainerInfo("货柜号");
             Message msg=new Message(); 
             msg.what=0; 
             myhandler.sendMessage(msg); 
             }  
            }.start();  然后再在handler里面设置listview
    public void handleMessage(Message msg){ 
               switch(msg.what){
                    case 0:
                           listView.setVisibility(View.VISIBLE);
            adapter = new SimpleAdapter(
                    MianActivity.this, 
                    list, 
                    R.layout.adapter_item,  
                    new String[] { "LName"}, 
                    new int[] { R.id.txt_Cname});
                    listView.setAdapter(adapter);
                }
            } 非常感谢
      

  8.   

    我还以为是socket连接问题呢,话说我socket连接放到线程里也是出现这种问题