0

私の Android アプリケーションでは、30 秒間隔で更新された過去 2 時間のデータを示すグラフをプロットする必要があります。

また、ファイルのデータを更新したいと思います。データ ファイルには常に、最新の 2 時間分のデータのみを含める必要があります。2時間後、毎秒データ要素をファイルの上部から削除し、新しいデータをファイルの下部に追加し、ファイルデータを最初の行から開始する必要があるため、最善の方法は何ですか.

データを保存する最良の方法を教えてください。それから同時に読み取り、同時にプロットできるようにします。

4

1 に答える 1

1

一度に 120*2 = 240 エントリしか必要なく、各エントリは 12 バイト (3 float) しかないためです。配列リストを使用するだけです。

ArrayList<Float> dataX = ArrayList<Float>();//for one of the three floats

次に、新しいエントリを追加します

if( dataX.getSize() < 240 ){
    dataX.add( value );
}else{
    dataX.remove(0);//remove oldest
    dataX.add( value );
}

上記は微調整が必​​要な場合があります。疑似コードと考えてください。

[編集] リストの型を Float[] に変更して、3 つの float のセットすべてを 1 つの配列リストに格納することもできますが、データの各セットに個別にアクセスできるようにしたい場合があります。わかりません。

于 2012-08-17T12:12:29.117 に答える