2016-04-21 92 views
-1

我是Android开发新手,我遇到了这个问题,我还没有找到解决方案。Android Studio Asynctask Alternative

它首先进入web服务api登录。从那里,如果登录成功,它将执行2个函数来获取它需要的实际数据,存储在sqlite中,然后继续下一个活动。所有3个API请求都使用AsyncTask,而据我所知,我的Activity实际上比我的“doInBackground”后台线程运行得更快。我想知道路径或我应该看看什么。我读过关于使用睡眠的文章,并阅读关于如何做不好的文章。我想获得我需要的json数据,存储它,并立即使用它。我想我想找到直接连接并使用进度条来获取数据。请记住,这不是很多数据,但它足以拖延我的应用程序。

+0

我想我可能已经找到了领先的使用Android Volley Jsonrequest –

回答

0

不知道ProgressBar与从服务器检索数据有什么关系,但是如果您正在寻找AsyncTask替代品(尤其是HTTP调用),您可以查看这些框架(您可能只需要选择一个) :

  1. Square's Retrofit
  2. Google's Volley

两者将让您的生活轻松了许多,当涉及到HTTP请求。他们自己的文档解释了如何使用它们,所以我不打算在这里介绍如何使用它们。

如果你正在寻找一个本地的,更低的水平AsyncTask替代方案,看看AsyncTaskLoadersAsyncTaskLoader基本上与AsyncTask完全相同,但它们位于Activity或Fragment的生命周期内,因此您的代码倾向于不太容易出错。

+0

感谢您的帮助!我已经想出了如何使用Google的Volley,而我比asyncTask更喜欢它。虽然时间上我仍然有同样的问题。登录后,我正在做2 api的数据请求,然后将它们存储到sqlite数据库,然后继续到dashboardActivity。问题在于仪表板启动时数据不在数据库中(我认为它显示可能迟了几秒)。任何想法/建议? –