2011-12-04 13 views
0

私はAsynctaskにソケットを含むAndroidアプリケーションを持っていますが、これはうまく動作しますが、これを実装する正しい方法であるかどうかはわかりません。ソケットがアンドロイドとリストビューにあります

もう1つ、私のonProgressUpdateは私のリストアダプターを更新し、アニメーションを再生するときに遅れを起こします。

誰かがそれに対して良い解決策を持っていますか?

答えて

1

あなたはUIスレッドで計算中ではないですか?

このpageをご覧ください。Androidのさまざまなスレッドメカニズムの使い方に関するガイドラインがいくつかあります。

これで問題が解決しない場合は、コードの一部を投稿してリストの作成に使用してみてください。

0

私はこのようにそれをやった...(ちょうどソケット接続用)

private class EstablishConnectionTask extends AsyncTask<Void, Void, Void> { 
    @Override 
    protected Void doInBackground(Void... params) { 

     boolean ok = false; 
     dataSend = false; 

     //establish the Connection to the server and returns if it succeed or not 
     ok = client.createClient(server, port); 
     //try to send the data and return if it succeed or not 
     if(ok) dataSend = client.sendData(profilename); 
     if(dataSend) { 
      //close the connection 
      client.closeConnection(); 
     } 
     return null; 
    } 

    protected void onPreExecute() { 
     //bring a process Dialog to the front 
     showDialog(DIALOG_CONNECTING); 
    } 

    protected void onPostExecute(Void result) { 
     removeDialog(DIALOG_CONNECTING); 
     if(dataSend) { 
      Toast.makeText(Activity_sendXML.this, "xml versendet", 2000).show(); 
     } 
     else{ 
      showDialog(DIALOG_CONNECTION_REFUSED); 
     } 
    } 

} 
+0

こんにちは、あなたの答えのためのおかげで、実際にこれが私の解決策があまりにもですが、私はサービスの下にそれを置くこととした場合、私は疑問に思いますか私の活動に。 asynctaskからlistviewアダプタを更新しているときに、アニメーションを再生しているときに遅れを経験します。 –

関連する問題