2011-10-04 163 views
0

我正在开发一个程序,它有2个按钮:开始和结束。当我点击开始时,它将开始每隔30秒获取位置。并使用套接字连接将它们发送到服务器。当我点击结束按钮时,它将停止所有作品。 我可以在不使用线程的情况下执行此操作吗?如果我需要使用线程,那么实现它的最好方法是什么。我应该听LocationProvider与LocationListener获取位置每隔30秒,并发送给他们在一个线程中,或者我应该创建连接线程并获取位置在每个和发送。黑莓套接字连接和线程

回答

1

如果您在UI主线程中建立连接,则应用程序将变得无响应,直到连接终止,这是错误的!您必须为您建立的每个连接创建一个线程,强烈建议这样做。

您将不得不创建一个线程,每次休眠30秒,然后执行您所说的工作。

你的工作应该在线程来完成,不使用主线程这些东西

2

可惜的是,这是一个局部的答案(这是我很难理解你的问题的其余部分):

我能做到这一点,而不使用线程?

这是不可能的。如果你在主UI线程上开始这样做,那么你的应用UI将不得不等待所有的事情完成(联网是一项耗时的工作)。所以唯一的办法是在后台线程上执行此操作。

0

您必须使用另一个线程除了主UI线程(EDT)的在网络交易。 您不能使用主线程进行网络事务,因为这是一个耗时的操作,会使主线程无响应,并且您的应用程序最终会崩溃。