我有一个应用程序,其中我有一个UI活动,它应该显示在另一个类中完成xml解析后检索的数据。 在xml解析期间我正在做的是显示progressdialog。我将我的ui活动的处理程序传递给执行xml解析的线程,并且在完成解析时,xmlparser therad使用我已经传递的处理程序调度一条消息,该消息由UI活动接收,之后它开始显示数据。
以上是我如何进行多线程处理。
还有更好的方法吗? 提前谢谢你。
编辑:我听说过以下异步任务,executionarservice,意向服务。 哪个是最适合我的目的?
答案 0 :(得分:4)
AsyncTask是你最好的朋友。
不是将runnables传递给UI THread,而是需要实现一个AsyncTask类,它们在里面让它解析doInBackground()中的xml。
对于进度对话框,启动对话框并在onPreExecute()时显示它,并使用onPostExecute()将其关闭。如果你想要一个precentage栏,你可以在onProgressUpdate()
中实现它答案 1 :(得分:0)
当然,这项任务有几种技巧
您可以使用Services
,AsyncTasks
,Handlers
,...
为了根据您的问题做出正确的决定,我建议您查看Android开发者的Romain Guy's Painless Threading帖子。这是一篇非常方便的文章,也非常精确,永远不会变老。