我无法调用 AsyncTask 和 IntentService。我正在开发一个具有用户注册活动的 android 应用程序。当用户在注册活动中输入用户名时,我必须通过向服务器发送 HTTP 请求来检查用户名是否已被使用。服务器的响应是带有用户名的 JSON 对象。
请帮助我接听电话设计后台用户名检查 AsyncTask/IntentService 的优缺点。
如果您使用的是 AsyncTask,那么您在这里不需要 IntentService。如果您发布代码,我们可以向您展示您可能做错了什么,但是使用 AsyncTask 在线程上发出 HTTP 请求非常简单。
这是一个很好的例子,说明如何为此目的使用它: http ://androidresearch.wordpress.com/2012/03/17/understanding-asynctask-once-and-forever/
基本上 AsyncTask 只是一个花哨的 Thread 包装器,它允许您与显示线程对话。Runnable
您可以使用执行 HTTP 调用的 Thread 和更新您的显示的 Thread 可以实现完全相同的结果,您的线程可以使用Handler
.
从这个有用的答案
您应该将 AsyncTask 用于与活动紧密绑定的简短重复任务,例如您当前正在尝试执行的操作。IntentService 更适合应在后台运行的计划任务(重复或不重复),与您的活动无关。
所以这个建议也适合你。
除此之外,我建议您查看android volley
IntentService 和 Asynctask 无论如何都没有可比性。