1

私の Android アプリケーションは次のことを行う必要があります。

  • サーバーに画像をアップロードする

  • アップロードされたイメージ image を使用して、REST Web サービスへの3 つの (クイック) 呼び出しを行います

  • Web サービスから出力を取得する

  • ui に出力を表示します。

Service と AsyncTask のどちらを使用するべきかについて混乱しています。

タスクはバックグラウンドで実行する必要があり、プロセスが完了したら結果を UI に表示する必要があるため、AsyncTask を使用する必要があると思います。doInBackground()andメソッドはpostExecute()、この種のことには完璧に思えます。

ただし、Android ドキュメントと、サービスを使用する方が適切であるという StackOverflow の回答をいくつか読みました。問題は、タスクが完了したらすぐに UI に出力を表示したいことです。ユーザーがアプリを終了したら、アップロードを停止します。

私は混乱しています: AsyncTask は本当に良い選択ですか?

4

2 に答える 2

0

アプリでネットワーク関連の処理を行っているAsyncTask場合は、 を取得するため、何をするにしても を使用する必要がありますNetowrkOnMainThreadException。UI スレッドでネットワーク関連の操作を行うことはできません。サービスは UI スレッドで実行されるため、サービスには AsyncTask が必要です。

だから私だったら、完了時にUIを更新する必要がある場合、サービスについて心配することはありません

于 2013-06-13T16:37:05.003 に答える