java - Android数据存储用于绘制图表

标签 java android

在我的 Android 应用程序中,我需要绘制一个图表,显示最近 2 小时以 30 秒间隔更新的数据。

我还想更新文件中的数据。在任何时候,数据文件都应仅包含最近 2 小时的数据。最好的方法是什么,因为两小时后,每秒必须从文件顶部删除一个数据元素,并将新数据添加到文件底部,并且文件数据应从第一行开始。

有人可以建议我存储数据的最佳方式吗?这样我就可以同时读取它并同时绘制它。

最佳答案

因为您一次只需要 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[] 并将所有三组 float 存储在一个数组列表中,但您可能希望能够独立访问每组数据,我不知道。

关于java - Android数据存储用于绘制图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12005281/

相关文章:

android - Cloud Console 中缺少移动后端启动器

android - 从自定义 SeekBarPreference 获取值

java - 开始我的第一个 Android 应用程序。如何轻松测试服务器是否收到消息?

java - 我无法从 sqlite 解析日期。解析异常 : Unparseable date

java - 埃斯珀重复按需查询

java - 对象类型到 Reader 类型?

java - 调用 date() 实例不会更新时间

java - Ivy 未解决公共(public) Maven 存储库的传递依赖关系

java - 如何消除圈复杂度

java - 如何找到 Android 日志文件?