嘿,我正在尝试做出多个http请求,并想知道在android中执行此操作的最佳方式。目前我正在使用带有线程的IntentService,但是这并不是很好,因为在线程完成之前,onhandleintent会返回。我应该切换到一个常规的服务,并在那里启动我自己的线程或asyncTask更合适? 谢谢我应该怎么做android中的多个http请求
回答
任何时候你处理线程,你将不得不处理同步。例如,当调用onHandleIntent()时,可能需要与HTTP请求线程同步并等待它完成。
如果你事先知道你会做这个有很多,可能是值得考虑的像ThreadPoolExecutor,以节省创建和拆除线程的痛苦一点。如果您想在继续之前等待终止,您仍然需要同步您的线程。 Android有很多方法可以做到这一点,包括抽象,使其实现起来相当简单。
我每次调用intentService时都启动6个线程。每个线程负责使用不同的xml进行http请求以获取不同的数据。然后我将这些数据插入到本地的sqlite数据库中。我的代码看起来像下面这样: http://pastebin.com/fGqXeEbS – Tyler 2012-03-12 18:20:33
我建议你看看ThreadPoolExecutor(https://developer.android.com/reference/java/util/concurrent/ThreadPoolExecutor.html)如果你会一直这样做。无论哪种方式,这听起来更适合于实际的服务。 – NuSkooler 2012-03-12 19:11:31
如果你已经开始新线程(直接或间接),那么是的,你应该使用Service
而不是IntentService
。 IntentService
的全部意义在于它为您处理线程。
- 1. 我应该怎么做?
- 2. 当两个异步请求完成时,我该怎么做?
- 3. 我应该怎么做一个聚合?
- 4. 我该怎么做?
- 5. 我该怎么做MongoDB中
- 6. 嗨,我正在尝试做一个https请求,需要认证和多个参数,我该怎么做?
- 7. 我该怎么做?(Android Whack-A-Mole)
- 8. 我该怎么做认证在Android
- 9. 我被要求编码一个URL。我该怎么做呢?
- 10. 我需要验证多个表中的数据......我应该怎么做?
- 11. (mongo)ID数组:我应该怎么做?
- 12. 我在这个Angular HTTP请求中做了什么错误?
- 13. netbeans应该怎么做?
- 14. Ignited-Datatables,应该怎么做?
- 15. 我该怎么做PyQt4?
- 16. regexp freebie ...我该怎么做?
- 17. 反思?我该怎么做?
- 18. 我该怎么做(游戏)?
- 19. 如何在我的情况下做出多个http请求?
- 20. 我在做什么错Swift 3 http请求和响应
- 21. Android多部分http请求
- 22. Scrapy:为什么我应该为多个请求使用yield?
- 23. 向.NET中的单个HTTP请求发送多个HTTP响应
- 24. 我应该什么时候回应我的网站上的HTTP HEAD请求
- 25. 我们应该在HTTP/2中复用多少个并发请求
- 26. 具有多个文件的Multipart HTTP请求应该是什么样的?
- 27. Android应用程序中的单元测试。我应该怎么做呢?
- 28. 我想检查一个http请求的响应属性是否在另一个http请求中退出。我怎样才能做到这一点?
- 29. Jmeter - >如果我使用多个HTTP请求采样器怎么办?
- 30. 我可以做多个SQL请求作为一个请求
您是否从服务着手? – 2012-03-12 17:51:08
当前从一个活动开始,我打电话给一个IntentService – Tyler 2012-03-12 17:53:09