2012-04-03 4 views
0

서버에 연결하여 통신하는 Android 애플리케이션이 있습니다. 원래이 앱은 minSdk 버전 8 (Android 2.2)으로 제작되었으며 완벽하게 작동했습니다. 4.03을 실행하는 장치가 있으므로 minSdk 15 버전을 만들기로 결정했습니다. 이로 인해 내 애플리케이션이 서버에 연결될 때마다 충돌이 발생했습니다.Android SDK 버전을 변경하면 충돌이 발생합니다.

문제의 원인을 찾기 위해 가능한 한 앱을 제거했습니다. 내 소켓을 초기화하는 함수로 문제를 좁혔다. 이 함수가 응용 프로그램을 실행하려고 할 때마다 충돌이 발생합니다.

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입니까? –

답변

1

내가 (당신의 로그 캣 출력을 게시!) 확실히 말할 수는 없지만, 내 추측은 당신이 UI 스레드에 연결을 시도하고 있다는 점이다 ICS는 앱을 크래시하고 있습니다 (UI 스레드에서 웹 서버에 연결하려고하면 앱이 제대로 작동하지 않을 것이라는 보장이 거의 확실하기 때문입니다). AsyncTask 또는 Thread을 사용하여 연결하고 있는지 확인하십시오. 비슷한 문제가 있고 대개이 문제와 관련된 많은 개발자를 보았습니다.

+0

그게 내가 필요한 것입니다. 귀하의 신속하고 도움이되는 답변에 감사드립니다. – davemeyer

관련 문제