3

リアルタイム (数ミリ秒ごと) でデータを送信する別のデバイスとアプリケーションがあり、受信デバイスで次のことを行います。

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スレッドとの通信はどうですか?

4

1 に答える 1