studio mpa library chart android achartengine

mpa - Android: ¿estoy usando la biblioteca AChartEngine para gráficos, pero no puedo integrar la vista gráfica de achartengine con android xml?



mp android chart (4)

Así que aquí hay un lugar autosuficiente para encontrar todo sobre AChartEngine . Que incluye un enlace para descargar,

  1. achartengine-1.1.0-demo-source.zip El código fuente del proyecto de demostración AChartEngine 1.1.0. 15 de mayo 15 de mayo 168 KB 8149
  2. achartengine-1.1.0-javadocs.zip La documentación de AChartEngine 1.1.0 javadoc. 15 de mayo 15 de mayo 374 KB 3610
  3. achartengine-1.1.0.jar La biblioteca de compilación binaria AChartEngine 1.1.0. 15 de mayo 15 de mayo de 117 KB 5264

Que son las últimas por ahora (mientras publica esta respuesta). Ahora siga estos sencillos pasos para agregar un nuevo archivo de gráfico:

  • Descargue y agregue achartengine-1.1.0.jar a la sección lib de su proyecto
  • Ahora haz clic derecho en el archivo y agrégalo a la ruta de compilación, como en la imagen

  • Ahora como se define en las respuestas anteriores, agregue el siguiente código a su clase:

    private GraphicalView mChartView; private XYMultipleSeriesDataset dataset; private XYMultipleSeriesRenderer renderer; private BarChart.Type type; protected void onResume() { super.onResume(); if (mChartView == null) { LinearLayout layout = (LinearLayout) findViewById(R.id.chart); /*getBarChartView(android.content.Context context, XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, BarChart.Type type) Creates a bar chart view.*/ mChartView = ChartFactory.getBarChartView(this, dataset, renderer, type);//tView(this,getBarDemoDataset(values),renderer,Type.DEFAULT); layout.addView(mChartView); } else { mChartView.repaint(); } }

    • Para obtener detalles sobre cualquier clase de AChartEngineAPI, descargue achartengine-1.1.0-javadocs.zip y abra haciendo clic en index.html

    • achartengine-1.1.0-demo-source.zip será útil durante el desarrollo de deepar adicional donde puede tomar referencia para todos los gráficos

Mi aplicación requiere una biblioteca de gráficos y estoy usando la biblioteca de gráficos achartengine. Mi aplicación requiere que el gráfico sea solo el 50% de la pantalla y otra parte se use para mostrar otra información.

¿Es posible tener un archivo de recursos xml para las API de gráfico de achartengine y cómo hacerlo?

Traté de encontrar un ejemplo pero no lo encontré. ¿Es compatible o no?


Esta es una pregunta frecuente para AChartEngine. La aplicación de demostración AChartEngine está disponible para descargar aquí: demostración AChartEngine

En el código fuente de demostración, puede ver un ejemplo sobre cómo incrustar un gráfico en una vista existente.

Básicamente, en el archivo descriptor de actividad .xml, hemos definido lo siguiente como un marcador de posición para el gráfico. Por supuesto, otros componentes de la interfaz de usuario van de la mano con este diseño:

ChartDemo / layout / xy_chart.xml cerca de la Línea 27

<LinearLayout android:id="@+id/chart" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" />

Definimos una variable local:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java cerca de la Línea 68

private GraphicalView mChartView;

Lo instanciamos en el método onResume () de la actividad:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java cerca de la línea 163

protected void onResume() { super.onResume(); if (mChartView == null) { LinearLayout layout = (LinearLayout) findViewById(R.id.chart); mChartView = ChartFactory.getLineChartView(this, mDataset, mRenderer); layout.addView(mChartView, new LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); ... } else { mChartView.repaint(); } }

Cada vez que se agregan datos nuevos (cuando el usuario presiona el botón "Agregar" en nuestro caso, se agrega un nuevo punto en la serie actual y:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java cerca de la Línea 147

if (mChartView != null) { mChartView.repaint(); }


Hay dos conjuntos de API en ChartFactory . Por ej. getLineChartView() y getLineChartIntent() . Entonces, el primero se usa para obtener una vista gráfica que se puede agregar a un diseño personalizado y luego se usa para obtener la intención. En el ejemplo anterior, Dan utilizó la API getLineChartView() que devuelve una GraphicalView .


Puedes escribir tu xml así ...

<LinearLayout android:layout_below="@+id/btn" android:id="@+id/chart" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"> </LinearLayout>

y el fragmento de código java es

protected void onResume() { super.onResume(); if (mChartView == null) { LinearLayout layout = (LinearLayout) findViewById(R.id.chart); mChartView = ChartFactory.getBarChartView(this,getBarDemoDataset(values),renderer,Type.DEFAULT); layout.addView(mChartView); } else { mChartView.repaint(); } }