我正在做一个不断从TCP套接字接收数据的项目。 我需要将该数据传递给另一个活动,以便我可以执行我的操作。 每次意图传递都无用时传递数据。 我们可以使用计时器但它们可能会丢失一些数据。 我需要一些过程,它应该在收到的时刻不断地通过数据。 请告诉我在这种情况下哪个是处理TCP数据的最佳过程。 如果你举个例子我感激不尽。
这是我的TCP连接和接收代码
Sockets = new Socket("My IP",Port);
while (s.isConnected()) {
in = new BufferedReader(
new InputStreamReader(s.getInputStream()));
int nRead;
char[] data = new char[1024 + 1024];
String decoded = "";
while ((nRead = in.read(data, 0, data.length)) != -1) {
decoded = new String(data, 0, nRead); **// This decoded data need to pass to another activity.**
}
答案 0 :(得分:0)
您可以使用Handler
定位到Looper.getMainLooper()
来有效地,重复地从后台线程将数据发布到UI线程。
Android培训页面的Communicating with the UI Thread部分介绍了如何使用Handler
。我前段时间还写过关于Loopers的a blog post,它揭示了一些关于它们是如何工作的。
答案 1 :(得分:0)
你试过看AIDL吗?以下是一些链接
Need AIDL tutorials http://developer.android.com/guide/components/aidl.html