2012-04-03 70 views
0

我有一个连接,并与服务器通信的Android应用程序。本来应用程序是用minSdk版本8(Android 2.2)构建的,并且工作完美。我有一个运行4.03的设备,所以我决定创建一个minSdk 15版本。这导致我的应用每次尝试连接到服务器时崩溃。改变Android的SDK版本导致崩溃

我剥了下来的应用程序尽可能地找到问题的根源。我将问题缩小到初始化Socket的函数。每当此函数尝试运行应用程序崩溃时。

如果我改变minSdk版本8,它完美的作品。但它不适用于我尝试过的任何其他版本(10,14,15)。我不知道这些版本有什么变化,但似乎很奇怪,这只会在misSdk 8上起作用。什么会导致这种情况或者可能发生什么变化?

下面是一些代码:

// Function that seems to cause problems 
public void openConnection(){ 
    try{ 
     s = new Socket(InetAddress.getByName("192.168.1.84"),1500); 
    }catch(IOException e){ 
e.printStackTrace(); 
    } 
} 
// Button handler 
public void myClickHandler(View view){ 
    switch(view.getId()){ 
    case R.id.ConnectButton: 
     this.openConnection(); 
    } 
} 
+0

其中是logcat stacktrace? – 2012-04-03 22:16:51

回答

1

我不能肯定地说(发表您的logcat的输出!),但我最好的猜测是,你正试图使UI线程上的连接和ICS崩溃你的应用程序(因为它应该,因为尝试连接到UI线程上的Web服务器几乎肯定会保证你的应用程序无法正常工作)。确保你正在使用AsyncTaskThread连接。我见过很多有类似问题的开发人员,通常都与这个问题有关。

+0

这正是我所需要的。我很感谢你的快速和有益的回应。 – davemeyer 2012-04-04 01:00:28