线程和UserInterface交互

时间:2013-07-22 00:31:39

标签: java android

我正在尝试创建一个让用户将其位置记录到Web服务器的应用程序,我陷入了所有这一切的困境。 我正在使用一些线程但是在这一点上如何最好地使用它们是令人困惑的。 在主线程(1)上有UI,用户点击按钮记录位置,然后在点击该按钮后,UI线程显示“请稍候”对话框并启动新线程(2)以获取gps地点。 据我所知现在:UI线程现在卡住显示对话框,线程(2)正在获取位置。接下来当线程(2)完成定位时,我需要另一个线程(3)来与http服务器通信。 据我所知,主线程(1)无法处理任何“sleep()”来定期检查其他线程将为其设置的标志。 因此,解除“请稍候”对话框的唯一方法是从其中一个主题开始。所以你们可以看到我有点困惑。 哪个是解决这个问题的最佳方法(严格来说是线程同步)? 基本上我需要一个用户界面,显示一个请等待对话框,而在后台,应用程序获得GPS坐标,第二,获取位置记录在Web服务器上。 最后向用户展示成功与否。 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用@vikram评论的AsyncTaskActivity.runOnUiThread()是另一种选择。 View.post()是另一个。