最简单的方法来绘制浮点数组

时间:2012-02-24 00:34:20

标签: android

我不熟悉Java / Android编程。 我有一系列我记录的花车,我想根据时间绘制它们。 我只是想看看数据是什么样的,我真的不需要在应用程序本身中绘制它,尽管它会很方便。我正在寻找最简单的方法来做到这一点。 我查看了应用程序中绘制图形的库(图形视图和achartengine),但是当我将它们导入到eclipse中时,演示代码上到处都有错误。 也许导出数组更容易,所以我可以在计算机上绘制它,例如到csv文件(对于excel)?但是,我只能在带有csv文件的数据库上找到东西。有人请指点我最简单的方向! :-D 感谢

1 个答案:

答案 0 :(得分:1)

两种方式都很简单。

  1. 您可以通过覆盖其draw(Canvas)方法在任何View上绘制您的值。花费最多时间的事情是将您的值转换为视图的坐标,这实际上是原始代数。

  2. 您不需要任何工具来生成*.csv个文件 - 它的格式非常简单,您可以自己创建。在您的情况下,其内容将如下所示:

    "time","value"
    "12300000","78.99"
    "12340000","89.77"
    ...
    
  3. 这是代码,它将产生这样的文件:

        long[] time = ...; // this contains your time values
        float[] values = ...; // this contains your float values
        File outFile = new File("/mnt/sdcard/my_output_file.csv");
    
        BufferedWriter buffWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
        buffWriter.write("\"time\",\"values\"\n");
        buffWriter.flush();
    
        for (int i = 0; i < values.length; i++) {
            buffWriter.write("\"" + time[i] + "\",\"" + values[i] + "\"\n");
            buffWriter.flush();
        }
    
        buffWriter.close();