| 
 При разработке бизнес приложений программисты часто сталкиваются с необходимостью строить большое количество различных диаграмм и графиков. Конечно, все можно делать с нуля, вручную отрисовывая все необходимое, но зачем так мучатся, если есть неплохое бесплатное решение? Сегодня я хочу рассказать Вам об 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 Перевод: Александр Ледков 
		
	
  | 
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.