答えて
Androidでダウンロードキューを実装するにはどうすればよいですか?
IntentService
を使用してください。キューとバックグラウンドスレッドが用意されているので、ダウンロードロジックをonHandleIntent()
に入れてください。これを実証するSee here for a sample project。
私はjava.util.concurrentパッケージを見て、より具体的にあなたが一度に「N」のRunnableオブジェクトの数を実行しますExecutorServiceのを作成することができますExecutors
をよく読んで、自動的にキューに入れを示唆しています残りのタスクを実行します。実行中のスレッドの1つが実行を終了すると、キュー内の次のRunnableオブジェクトが実行のためにピックアップされます。
IntentServiceを使用すると、キャンセルをサポートすることが非常に困難になります。それはあなたが知っておく必要があるものです。可能であれば、APIレベル9の方が使いやすくなりますhttp://developer.android.com/reference/android/app/DownloadManager.html
DownloadManagerはファイルをキュー単位でダウンロードしますか? –
API 11以降では、非同期タスクでFixedThreadPoolを使用することをお勧めします。一度行う:
ExecutorService threadPoolExecutor = Executors.newFixedThreadPool(3);
ここで、3は同時に実行するダウンロード数です。既に3つのダウンロードが実行されている場合はタスクをキューに入れ、後でそのタスクを自動的に処理します。使用して非同期タスクを起動 :
yourAsynTask.executeOnExecutor(threadPoolExecutor, params);
paramsがおそらく接続したいURLです。あなたはあなたのasynctaskのonPostExecuteでそれを読んで、HttpURLConnectionを使ってサーバに接続することができます。
threadPoolExecutor.shutdown()
- 1. androidでファイルをダウンロード
- 2. キューを使用してねじれたファイルをダウンロードする
- 3. アプリをダウンロードするAndroidユーザー
- 4. Androidでバイナリファイルの問題をダウンロードする
- 5. Android WebView JavaScriptトリガーでファイルをダウンロードする
- 6. spotify sdkのキューを作る方法android
- 7. Android SDKをダウンロード
- 8. Android SDKをダウンロード
- 9. Androidスタジオをダウンロード
- 10. Androidダウンロード
- 11. AndroidでソースURLをダウンロード
- 12. アプリケーションをバックエンドでAndroidにダウンロード
- 13. Android DownloadManagerで.dbファイルをダウンロード
- 14. Androidで固定キューを実装する方法
- 15. Androidで永続的なキューを実現する方法
- 16. Android Youtube mp3をダウンロード
- 17. Android FTPダウンロード
- 18. Androidソースコードのダウンロード
- 19. AndroidからZipファイルをダウンロードする
- 20. AndroidドライブAPIファイルをダウンロードする
- 21. Android WebviewダウンロードマネージャーPDFファイルをダウンロードする
- 22. Firebase Android:ダウンロードをキャンセルするには?
- 23. Androidのダウンロードを停止する
- 24. Android:ダウンロードしたファイルを共有する
- 25. ファイルをダウンロードして移動する(Android)
- 26. AndroidウェブサイトをダウンロードするHTMLコンテンツ
- 27. Androidブラウザからファイルをダウンロードするスクリプト
- 28. androidソースをダウンロードするには?
- 29. Android - バックグラウンドスレッドで複数のジョブをキューに入れる方法
- 30. iOS 4で多数の画像をキューにダウンロードしていますか?
アメージング:
は、あなたがシャットダウン時にこれをダウン呼んでいることを確認してください!ありがとうCommonsWare! – hpique
Hello Commonsware、上記のmetionの例はダウンロードキューではありません。バックグラウンドで画像をダウンロードするだけです。ダウンロードするイメージが20枚あればどうなりますか? –
@chrish: "上記のmetionの例はダウンロードキューではありません" - そうです。私はちょうどそれを一度呼び出すことが起こる。 「ダウンロードする画像が20枚あればどうなるでしょうか?」 - 'IntentService'が何をダウンロードするのかを知るために必要な情報を' startService() 'で20回呼び出します。 1つのコマンドが処理されている間、他のコマンドは 'IntentService'の内部にキューイングされ、それらの順番を待っています。複数のスレッドを持つダウンロードキューをキューから使いたい場合は、 'ThreadPoolExecutor'を使用する独自の' Service'を作成し、キューが空になったら 'stopSelf()'を呼び出します。 – CommonsWare