如何处理来自Android中的活动的登录网络呼叫

时间:2016-01-02 19:06:52

标签: android android-asynctask intentservice

当用户输入用户名和密码并点击"登录"时,如何处理网络呼叫以进行登录?在活动中?

出于各种原因(例如,当您旋转设备时,AsyncTask被销毁),使用AsyncTask不是一个好主意。

我正在考虑的选项是使用从活动中启动IntentService。您将用户名和密码传递给该IntentService,并在OnHandleIntent()中进行网络调用。网络呼叫完成后,您将广播成功或失败数据。同样的LoginActivity有一个BroadcastReceiver可以接收广播,你可以处理其余的UI。

使用IntentService的缺点是,如果活动被销毁或应用程序关闭,IntentService仍将继续运行直到完成。

2016年有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

如何在片段中使用asynctask并设置retain实例。它也应该保留asynctask。

答案 1 :(得分:0)

为此,您可以使用任何第三方库。如 排球:

http://developer.android.com/training/volley/index.html

AQuery:

https://code.google.com/p/android-query/