ちょっと、私は複数のhttpリクエストを行い、アンドロイドでこれを実行する最善の方法を考えています。現在、スレッドでIntentServiceを使用していますが、スレッド処理が完了する前にonhandleintentが戻ってくるため、これはうまく動作しません。私は定期的なサービスに切り替える必要があり、そこに自分のスレッドを開始するか、asyncTaskをもっと承認する必要がありますか? ありがとう複数のhttpリクエストをandroidで作成するには
答えて
スレッドを扱うときはいつでも、同期を処理する必要があります。たとえば、onHandleIntent()が呼び出されると、HTTPリクエストスレッドと同期して完了するまで待つ必要があるかもしれません。
これを多く実行する予定がある場合は、ThreadPoolExecutorのようなものを見て、スレッドを作成して解体するという苦労を少しでも省くことができます。移動する前に終了を待つ場合は、スレッドを同期させる必要があります。 Androidには、実装するのがかなり簡単な抽象化を含むさまざまな方法があります。
intentServiceが呼び出されるたびに6スレッドを開始しています。各スレッドは、別のデータを戻すために異なるxmlでhttp要求を行う責任があります。それから私は、データを取って、それをローカルのsqliteデータベースに挿入しています。私のコードはfolowingのようなものです: http://pastebin.com/fGqXeEbS – Tyler
ThreadPoolExecutor(https://developer.android.com/reference/java/util/concurrent/ThreadPoolExecutor.html)を見てみることをお勧めします。あなたがこれを一貫してやるならば。いずれにせよ、これは実際のサービスに適しているように聞こえる。 – NuSkooler
新しいスレッドを(直接的または間接的に)既に開始している場合は、IntentService
の代わりにService
を使用する必要があります。 IntentService
の全体のポイントは、あなたのスレッドを処理するためのものです。
- 1. okhttp3で複数の非同期HTTP 2.0リクエストを作成する
- 2. RequireJS:複数のHTTPリクエストを作成するonload
- 3. ソケット複数のhttp投稿リクエストを作成中にハングアップ
- 4. $ httpで同期httpリクエストのループを作成するには?
- 5. goutte httpリクエストで複数のインスタンスが作成されない
- 6. 複数のHTTPリクエスト
- 7. SwiftでHTTP POSTリクエストを作成する
- 8. PHPでHTTP/2リクエストを作成する
- 9. iOSでHTTPリクエストで複数の画像をアップロードするには?
- 10. C#で単一のコールバックで複数の非同期HTTPリクエストを作成
- 11. 他のリクエストの前に$ httpリクエストを作成するAngular JS
- 12. 複数の同時HTTPリクエスト
- 13. 複数のHTTPリクエスト2
- 14. ユニットテスト複数のHTTPリクエスト
- 15. 複数のチェーンNode httpリクエスト
- 16. Wininetで複数のHttpリクエストを送信
- 17. androidのsqliteで複数のテーブルを作成するには?
- 18. SwiftのヘッダーでHTTPリクエストを作成
- 19. MaxMspでHTTPリクエストを作成するには?
- 20. ionic 2でhttp GET/POSTリクエストを作成するには?
- 21. as2でHttpリクエストを作成するには?
- 22. Angular 4 Universalでhttp投稿リクエストを作成するには?
- 23. Node.jsの単一のHTTPリクエストで複数のHTTPリクエストを呼び出す
- 24. Swift - ループで複数のチェーンのHTTPリクエスト
- 25. QtでのHTTPリクエストの作成
- 26. ループでAPIに複数のHTTP GETリクエストを送信する
- 27. 複数のHTTPリクエストを同時にスレッドで使用する
- 28. 複数のHTTPリクエストにまたがる複数ステップデータベーストランザクション
- 29. 私の場合、httpリクエストを作成するには?
- 30. エリクシールとフェニックスでHTTPリクエストを作成
サービスを開始していますか? –
現在アクティビティから開始し、IntentServiceを呼び出しています – Tyler