1

地元のシネマテック用のファンアプリを作成しています。アプリはスクリーニングスケジュールを取得します。これは、名前とスクリーニング時間などの基本データListを含むオブジェクトとして保存されます。Film

映画ごとに、映画館のサイトの映画ページに対して非同期HTTP呼び出しを行い、説明、年、長さなどの完全なデータを取得します。FilmData結果は解析され、オブジェクトに変換され、に挿入されBlockingQueueます。

HTTP呼び出しがデータとともに返されるたびに、UIスレッドで映画の説明を更新したいと思います。UIスレッドがフリーズするため、take()またはを使用できません。poll()

私は2つの戦略を考えました:

  • BlockingQueue外部スレッドからのポーリング、およびを使用したUIの更新runOnUiThread
  • AsyncTask非ブロッキング方式でキューをポーリングするために使用します。

ネットワーク呼び出しがAndroidアプリで非常に一般的なシナリオを終了したときに、UIを更新します。それを行う正しい方法は何ですか?

4

1 に答える 1

2

を使用しHandlerます。たとえば、HTTP 呼び出しが完了し、FilmData オブジェクトを作成したら、ハンドラー メッセージをActivity. のhandleMessageメソッドでHandler、UI を更新します。

于 2012-11-12T08:21:13.573 に答える