0

タイマーでチャートを更新します。関数がチャートを更新すると、すべてがOKになりますが、USB通信にコードを追加すると、関数が完了したときにのみグラフが更新されます(1回)。

timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
    for (int i = 0; i < data[0].length; i++) {
        data[0][i] = getRandom(0, 20);
        data[1][i] = (i + 1);
    }

    lineGraph.refreshChart(data[0], data[1]);
    if (complete[0]) {
        timer.cancel();
        timer.purge();
        return;
    }

    }
}, 100, 100);

// without the following two lines works fine
usbPacketTransfer.send();
recivedData = usbPacketTransfer.recive();
4

1 に答える 1

0

すべてのネットワーク操作をメインUIスレッドから移動する必要があります。AsyncTaskまたはを使用することをお勧めしThreadます。ネットワークコマンドが他のすべての実行をブロックしているため、最後にのみ更新されます。

于 2012-06-28T21:42:19.867 に答える