android - 从数据库填充图表引擎图

标签 android database achartengine

我一直在研究这个,但没有找到太多东西——可能是因为它非常简单。我正在尝试从我拥有的光标填充 agraphengine 中的条形图。我已确认光标后退 30 行(预期),但我不知道从那里去哪里。

这是我正在填充的数组:

    public static List<double[]> getChartData(int iDays){
    List<double[]> values = new ArrayList<double[]>(); 

//光标返回预期的30个结果

    Cursor graphData = db.query(CS_Table, new String [] {"count(*)-1"}, null, null, "strftime('%Y-%m-%d',  " + Time + ")", "strftime('%Y-%m-%d', " + CS_Drink_Time + ") BETWEEN strftime('%Y-%m-%d', date('now','-" + iDays + " day')) and strftime('%Y-%m-%d','now')", Time , null); 

    for(graphData.moveToFirst(); graphData.moveToNext(); graphData.isAfterLast()) {
        values.add(new double[] {graphData.getInt(0)});
        graphData.moveToNext();
        }

    graphData.close();
    return values;  
}

这是从 achartengine 调用函数的原因:

 public Intent execute(Context context) {
    String[] titles = new String[] { "total" };
   List<double[]> values = new ArrayList<double[]>(DBhelper.getChartData(30));
values.addAll(DBhelper.getChartData(30));   
    int[] colors = new int[] { Color.BLUE};
    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
    setChartSettings(renderer, "Drinks in the past " + DBhelper.getChartData(30) + " days", "Date", DBhelper.CS_YDrinks, 0,
        /*y axis*/32, 0, /*x axis*/10, Color.GRAY, Color.LTGRAY);
    renderer.setXLabels(12);
    renderer.setYLabels(10);
    renderer.setDisplayChartValues(true);
    renderer.setXLabelsAlign(Align.LEFT);
    renderer.setYLabelsAlign(Align.LEFT);
    // renderer.setPanEnabled(false);
    // renderer.setZoomEnabled(false);
    renderer.setZoomRate(1.1f);
    renderer.setBarSpacing(0.5);
    return ChartFactory.getBarChartIntent(context, buildBarDataset(titles, values), renderer,
        Type.STACKED);

症状是它似乎只从数组列表中提取第一个数字,因为它只会绘制一个柱状图。任何建议表示赞赏。

最佳答案

您需要放置一个相应的值来匹配字符串和颜色数组中的每个条。您可能只看到一个标题为“总计”的蓝色条。

关于android - 从数据库填充图表引擎图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561422/

相关文章:

android - 获取用户邮箱 firebase auth

sql - 如何在 Access 中进行分层\级联查询\报告?

mysql - 现有 mysql 数据库中数据的 meteor 报告。如何?

java - 在AChartEngine中调用remove(index)

Android - achartengine注释旋转

android - Chrome 自定义标签二次色

java - Android:JUnit + Mockito,测试回调?

java - Android问题用opengl es绘制位图

sql - 我在 Oracle 中提交的频率

android - AchartEngine:如何使用具有两种不同比例的 TimeSeries