在我的 android 应用程序中,我需要绘制一个图表,显示最近 2 小时的数据以 30 秒的间隔更新。
我也想更新文件上的数据。在任何时候,数据文件都应该只包含最近 2 小时的数据。最好的方法是什么,因为两小时后,每秒必须从文件顶部删除一个数据元素,并将新数据添加到文件底部,并且文件数据应该从第一行开始。
有人可以建议我,存储数据的最佳方式。这样我就可以同时从中读取并同时绘制它。
由于您一次只需要 120*2 = 240 个条目,并且每个条目只有 12 个字节(3 个浮点数)。我只会使用数组列表。
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[] 并将所有三组浮点数存储在一个数组列表中,但您可能希望能够独立访问每组数据,我不知道。