我有另一个设备和应用程序实时传输数据(每隔几毫秒),在我的接收设备上,我想:
1) 读取/接收此数据,以及 2) 使用它来更新 UI 元素(在本例中为动态图)
数据发送者在后台服务中使用套接字,每隔几毫秒使用 AsyncTasks 发送数据。要初始化,它执行以下操作:
echoSocket = new Socket(HOST, PORT);
out = new PrintWriter(echoSocket.getOutputStream(), true);
并定期发送数据:
static class sendDataTask extends AsyncTask<Float, Void, Void> {
@Override
protected Void doInBackground(Float... params) {
try {
JSONObject j = new JSONObject();
j.put("x", params[0]);
j.put("y", params[1]);
j.put("z", params[2]);
String jString = j.toString();
out.println(jString);
} catch (Exception e) {
Log.e("sendDataTask", e.toString());
}
return null;
}
}
我应该如何在我的应用程序中接收这些数据?我是否还应该使用带有 AsyncTasks 的后台服务来尝试每隔几毫秒从套接字读取一次?如何与 UI 线程通信?