/ / httpclientおよびasynctaskを使用したファイルのダウンロードのキャンセル - android、httpclient、android-asynctask

httpclientとasynctaskでファイルのダウンロードをキャンセルする - android、httpclient、android-asynctask

私のアプリでは、URLからファイルをダウンロードする必要があります。場所です。ダウンロードの進行状況をダイアログボックス(またはオプションで通知領域)に表示したいです。私はこの問題に関していくつかの良いリソースに出会いました( http://progrnotes.blogspot.com/2010/09/c-android.html)残念ながら、すべての例が、ユーザーの要求に従ってダウンロードを適切にキャンセルする方法に関する明確な指示を提供していません。だから私の質問は実際には非常に簡単です:

ファイルをダウンロードするasynctaskを考えます。バックグラウンド(httpclientを使用)とダウンロードの進行状況を示すダイアログボックスおよびキャンセルボタンが表示されます。ボタンを押すとダウンロードをキャンセルしてバックグラウンドタスクを停止する方法

私はスレッドを殺すことは一般的には良くないことを知っていますつまり、私のバックグラウンドスレッドでは "cancel"変数を使う必要があるでしょう。ボタンからasynctaskに停止信号を伝達するにはどうすればよいですか。

よろしく、 イボ

回答:

回答№1の場合は3

ボタンを呼んでもらう AsyncTask.cancel(true) 確認してください isCancelled() 中から doInBackground(Params... params)。このようにして、ダウンロードをキャンセルする必要があることをバックグラウンドスレッドに伝えることができます。また、適切な手順でそれを停止することもできます。


回答№2の場合は3

電話します キャンセルする(true) AsyncTaskオブジェクトに。これにより、スレッドが中断されます。 通常の割り込み処理。それからAsyncTaskにそれがあるかどうか尋ねることができます isCancelled().


回答№3の場合は0

私はあなたにこのリンクを通って行くことを勧めます AsyncTasksのダークサイドhttp://bon-app-etit.blogspot.in/2013/04/the-dark-side-of-asynctask.html .

グーグルはより速くより良いネットワーキングのために今日使用されている "バレー"と呼ばれるライブラリをリリースしました。

解決する 悪い点 AsyncTasksの

volleyを使ってリクエストをキャンセルする