因此,我目前正在编写一个应用程序,并有一些关于如何处理AsyncTasks的问题。我尽可能详细地描述我的问题。我有以下课程:
setContentView(R.layout.myLayout)
并创建my MainActivity的对象。布局包含一个自定义视图和一个ProgressBar
。LocationListener
并具有默认LocationListener
方法的类。此外,我还编写了一种方法,以检查哪些提供者能够优先使用NETWORK_PROVIDER
。View
类。它还有一个类型为Display
(我自己的类)的属性。现在你应该知道对我的代码很重要的一切。那么,我现在的问题是,如何处理AsyncTasks,因为这是应用程序应该通过的步骤:
最重要的是,我想实现一个进度条,它应该是有效的,直到所有的计算和绘图阶段开始。所以,我有点搞不懂该在哪里编码什么。我是说,这两种计算(第3和第4步)。一定要了解对方。步骤4的计算需要步骤3的计算结果,而且我的活动类也应该知道计算的状态,因为当我开始绘图时,必须使ProgressBar不可见。
我希望我足够详细,感谢你的帮助!
发布于 2014-04-01 07:45:33
那么,您可以从AsyncTask文档中收集到以下内容:
执行异步任务时,该任务将经历4个步骤:
因此,我建议您使用两个AsyncTasks在doInBackground(Params...)
方法中完成geo和服务器(各一个)的工作,并将值返回给onPostExecute(Result)
方法中的MainActivity。另外,通过使用MainActivity方法,让您的onProgressUpdate(Progress..)
知道进度。
当它们完成后,您可以选择使用另一个AsyncTask来执行计算,如果它们明显地拖住了UI线程。对它使用相同的执行方法。
当这一切完成后,你就可以画一个视图了.(我想你就是这么说的)
在开始“加载.”计算之前,先加载一个默认视图。或者别的什么。拥有另一个不可见的视图,当您准备显示计算出来的东西时,准备就绪,并且在准备要绘制的时候将其设置为可见。
https://stackoverflow.com/questions/22790021
复制相似问题