サーバーから情報を受信し、その情報をユーザーの画面に表示するアプリケーションがあります。情報が多いので、情報が入り次第UIを更新していきたいと思います。
送受信は別スレッドで行います。
2 つの質問:
複数の UDP パケットを最適に受信するにはどうすればよいですか? 1つのパケットを受信するための私の現在のコード
try { Log.i(TAG,"Listening..."); _dcOut.setSoTimeout(20000); _dcOut.receive(packet);/* Wait to receive a datagram */ haveDatagram = true; Log.d(TAG,"dc_out, received..."); } catch (Exception e) { // can be just a time out haveDatagram = false; Log.d(TAG,"dc_out, failed to receive..."); }
複数の UDP パケットを受信中に UI を更新することはできますか?
編集:バインドされたサービスを使用してサーバーから情報を取得しています(具体的にはAIDL)。セットアップは次のとおりです。
I: 1. 個々のオブジェクトを取得して送り返します。これはサービスの特定のインスタンスに対するものです。または 2. そのサービスのオブジェクトのリストを送り返すことができます。
私の考えでは、たとえば 5 ~ 10 個のオブジェクトのリストを送り返し、それをしばらく繰り返す必要があります。
-- このサービス設定では、パケットを受信しながら UI を更新する方法がないように感じます --