我启动了一个新的应用程序,我想使用Android的最新模式和指南,其中一个是使用Loaders(AsyncTaskLoader)而不是AsyncTasks,我试图看看Loaders是否真的替换了所有你的AsyncTasks“任务”即
假设您想要基于REST调用构建应用程序,其中一个调用负责登录用户。因此,当您单击提交(在片段按钮上)时,会出现一个对话框,直到响应返回,如果我是正确的,AsyncTaskLoader onLoadFinished将不允许您关闭对话框,除非您使用处理程序,并且好好使用它,使得解决方案看起来有点hacky,因此你需要显示错误对话框,例如当用户名或密码错误时,你最终可能会遇到一堆对处理程序的调用。
我使用AsyncTask快速完成了这一切并且所有工作正常,现在我将所有代码移动到AsyncTaskLoader似乎我正在攻击很多东西,当它应该更容易,我是初学者所以请成为耐心等待你的答案。
我很感激你的时间。
答案 0 :(得分:2)
我正在尝试查看Loaders是否真的可以替换所有的AsyncTasks“任务”。
Loader
执行数据的异步加载,监视其数据源并在其数据内容发生更改时提供新结果。 AsyncTaskLoader
是Loader
,它使用AsyncTask
将Loader
的操作卸载到单独的线程。 AsyncTask
基本上是Android的Thread
版本;它抽象出繁琐的多线程细节,并提供了一些方便的回调方法。
在您的情况下,登录用户是一次性的,可能很昂贵的REST
请求...它与加载/监视数据源无关。您应该使用AsyncTask
代替。