2012-04-03 8 views
0

私は、サーバーに接続して通信するAndroidアプリケーションを持っています。もともと、このアプリはminSdkバージョン8(Android 2.2)で構築されていて、完璧に機能していました。私は4.03を実行しているデバイスがあるので、minSdk 15バージョンを作成することにしました。これは、サーバーに接続しようとするたびにアプリケーションがクラッシュする原因となりました。Android SDKのバージョンを変更するとクラッシュする

問題の原因を見つけるためにできるだけアプリを削除しました。私は問題をSocketを初期化する関数に絞り込んだ。この関数がアプリケーションを実行しようとするたびにクラッシュします。

minSdkのバージョンを8に変更すると、完全に機能します。しかし、私が試した他のバージョンでは動作しません(10,14,15)。私はバージョンで何が変わったのか分からないが、これはmisSDK 8でしか機能しないことが奇妙に思える。何が原因か何が変わる可能性があるか?私は(!あなたのlogcat出力をポスト)確かに言うことはできませんが、私の最高の推測では、あなたがUIスレッド上の接続をしようとしていることである

// 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

:ここ

は、コードの一部でありますICSはアプリをクラッシュさせています(UIスレッド上のWebサーバーに接続しようとすると、アプリが正常に機能しないことがほぼ確実です)。 AsyncTaskまたはThreadを使用して接続を確立していることを確認してください。私は、同様の問題を抱え、通常はこの問題に関係する多くの開発者を見てきました。

+0

これは私が必要としていたものです。私はあなたの迅速かつ有益な応答に感謝します。 – davemeyer

関連する問題