2013-09-02 4 views
0

Ну, это около 1 минуты, я пытаюсь реализовать график батареи в своем приложении .. Просто диаграмма, которая контролирует состояние батареи в течение дня (o больше) ... Я нашел структуру AchartEngine, но на самом деле слишком много файлы для меня, и я не могу понять, что мне нужно изменить, чтобы иметь то, что я хочу ... Я открыл демо-папку и нашел некоторые примеры графиков. Я думаю, что лучший в моем случае это примерный граф Average Temperature. Это его кодAchartEngine Как вставить данные?

/** 
    * Executes the chart demo. 
    * 
    * @param context the context 
    * @return the built intent 
    */ 
    public Intent execute(Context context) { 
    String[] titles = new String[] { "Crete" }; 
    List<double[]> x = new ArrayList<double[]>(); 
    for (int i = 0; i < titles.length; i++) { 
     x.add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }); // X Values 
    } 
    List<double[]> values = new ArrayList<double[]>(); 
    values.add(new double[] { 10, 10, 12, 15, 20, 24, 26, 26, 23, 18, 14, 11 }); // Y Values 
    int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.CYAN, Color.YELLOW }; 
    PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE, PointStyle.DIAMOND, 
     PointStyle.TRIANGLE, PointStyle.SQUARE }; 
    XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles); 
    int length = renderer.getSeriesRendererCount(); 
    for (int i = 0; i < length; i++) { 
     ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true); 
    } 
    setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, -10, 40, 
     Color.LTGRAY, Color.LTGRAY); 
    renderer.setXLabels(12); 
    renderer.setYLabels(10); 
    renderer.setShowGrid(true); 
    renderer.setXLabelsAlign(Align.RIGHT); 
    renderer.setYLabelsAlign(Align.RIGHT); 
    renderer.setZoomButtonsVisible(true); 
    renderer.setPanLimits(new double[] { -10, 20, -10, 40 }); 
    renderer.setZoomLimits(new double[] { -10, 20, -10, 40 }); 

    XYMultipleSeriesDataset dataset = buildDataset(titles, x, values); 
    XYSeries series = dataset.getSeriesAt(0); 
    series.addAnnotation("Vacation", 6, 30); 
    Intent intent = ChartFactory.getLineChartIntent(context, dataset, renderer, 
     "Average temperature"); 
    return intent; 
    } 

} 

Если моя идея верна, что я хочу, было бы что-то вроде

values.add(new double[] { batterylevel }); // Chart line Values 

Правильно?

ответ

0

Действительно. Тем не менее, идеальный способ разработки против AChartEngine состоит в том, чтобы включить банку в свой путь к классам и начать писать код против своих API. Вы увидите, что вам придется «беспорядок» с меньшим количеством файлов.

Смежные вопросы