2011-09-09 13 views
1

私はAndroidデバイス(Honeycomb)用のアプリケーションを開発中ですが、問題が発生して解決が難しいです。アプリケーションは、画面の中央に大きなマルチラインのテキストフィールドを持ち、バックグラウンドスレッドがソケットを介してリモートサーバーと通信しています。Android開発でのUIアクセス

私はdoInBackgroundのUIを更新しなければならないという事実を除いて、AsyncTaskとそれが必要なものに非常に近いかどうかを調べました。プログラムが実行されている間にソケット接続を維持し、新しいメッセージが受信されると、それらをUIに移入する必要があります。

メッセージが入ってUIに入力されている間、ユーザーは別のソケットでメッセージを送信することができます。

これを行う方法に関するご提案はありますか? onPostExecute(...)メソッドを使用するだけで、私が必要とするものを正確に実行することはできません... doInBackgroundでループを使用すると、UIを更新する方法がありません。

私は何かがはっきりしていないと確信しています。助言がありますか?

ありがとうございます!

答えて

2

AsyncTaskには、UIを更新する機能があります。 doInBackgroundからpublishProgressを呼び出すと、UIスレッドでonProgressUpdateが呼び出され、UIスレッドを更新できるようになります。

+0

これはまさに私が必要と思われるものです。どうもありがとうございます!!! – Jamie

+1

これはあなたのために働いた場合は、他のユーザーに役立つように答えを設定してください。 – blessenm