При разработке бизнес приложений программисты часто сталкиваются с необходимостью строить большое количество различных диаграмм и графиков. Конечно, все можно делать с нуля, вручную отрисовывая все необходимое, но зачем так мучатся, если есть неплохое бесплатное решение? Сегодня я хочу рассказать Вам об open source библиотеке AChartEngine, позволяющей создавать красивые графики и диаграммы для ваших отчетов. Приятно, что библиотека распространяется под весьма мягкой лицензией Apache Version 2, так что Вы вполне можете использовать AChartEngine в своих коммерческих проектах.
На сайте разработчика помимо самой библиотеки можно найти подробную документацию, офермленную в стиле Javadoc pages, примеры использования библиотеки, а также ее исходный код. В разделе Demo приводится несколько диаграмм и графиков, построенных средствами AChartEngine.
Для построения диаграммы нужно выполнить несколько довольно простых шагов
- Перед использованием библиотеки вам нужно подключить ее к своему проекту в Eclipse. Для этого создайте где-нибудь папку для библиотеки и поместите туда jar файл. Теперь добавьте этот jar в свой project build path. После этого добавьте строку <activity android:name="org.achartengine.GraphicalActivity"/> в файл манифеста вашего проекта.
- Создайте и инициализируйте три массива. В первом будут содержаться цвета, во втором - подписи, в третьем - значения.
- Создайте объект CategorySeries и загрузите в него массивы строк с подписями и значения. При построении диаграмм будут использоваться именно эти данные.
- Создайте объект DefaultRenderer. CategorySeries и DefaultRenderer определены в библиотеке AChartEngine.
- Для каждого цвета в диаграмме создайте SimpleSeriesRenderer и установите его в этот цвет. Затем каждый SimpleSeriesRenderer добавьте в DefaultRenderer. Таким образом, имеем один Render на каждый Series. К слову, Render может включать другой Render, таким образом можно создавать подкатегории.
- Создайте объект PieChartIntent и передайте ему CategorySeries и DefaultRenderer.
- С помощью PieChartIntent можно показать диаграмму, как отдельную деятельность.
Ниже приводится исходный код, в котором реализованы все описанные выше шаги.
package com.example.bars;
import org.achartengine.ChartFactory;
import org.achartengine.chart.PieChart;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = buildIntent();
startActivity(intent); // шаг 7
}
public Intent buildIntent() {
int[] values = new int[] { 5, 15, 25, 50, 75 }; // шаг 2
String[] bars = new String[] {"Francesca's", "King of Clubs",
"Zen Lounge", "Tied House", "Molly Magees"};
int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA,
Color.YELLOW, Color.CYAN };
CategorySeries series = new CategorySeries("Pie Chart"); // шаг 3
DefaultRenderer dr = new DefaultRenderer(); // шаг 4
for (int v=0; v<5; v++){ // шаг 5
series.add(bars[v], values[v]);
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[v]);
dr.addSeriesRenderer(r);
}
dr.setZoomButtonsVisible(true);
dr.setZoomEnabled(true);
dr.setChartTitleTextSize(20);
return ChartFactory.getPieChartIntent( // шаг 6
this, series, dr, "Pie of bars");
}
} Мы построили диаграмму PieChartIntent, однако подобным образом можно построить и другие виды графиков. Мне библиотека показалась довольно удобной и понятной. Ее можно использовать, если необходимо быстро разработать какое-нибудь бизнес-приложение со строгим дизайном. Источники: Peter_vdL "Enterprise Grade Charts" http://www.achartengine.org Перевод: Александр Ледков
|
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.