Android: Я использую библиотеку ACHARTENGINE для графов, но не в состоянии интегрировать граф ACHARTENGINE с Android XML?
-
27-09-2019 - |
Вопрос
Мое приложение требует графической библиотеки, и я использую библиотеку графов ACHARTENGINE. Мое приложение требует, чтобы график был только 50% экрана, а другая часть используется для отображения какой-либо другой информации.
Возможно ли иметь файл ресурсов XML для графовых APIS APIS ACHARTENGINE и как это сделать?
Я пытался найти пример, но не нашел его. Поддерживается ли он или нет?
Решение
Это FAQ для ACHARTENGINE. Демо-приложение ACHARTENGINE доступно для загрузки здесь: Демонстрация achartengine
В демонстрационном исходном коде вы можете увидеть пример о том, как встроить диаграмму на существующий вид.
В основном, в файле дескриптора деятельности .xml, мы определили следующее в качестве заполнителя для таблицы. Конечно, другие пользовательские интерфейсные компоненты идут вместе с этой макетом:
ChartDemo / layout / xy_chart.xml возле строки 27
<LinearLayout
android:id="@+id/chart"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" />
Мы определяем локальную переменную:
ChartDemo / SRC / ORG.ACHARTENGINE.CHARTDEMO.DEMO.CHART / XYCHARTBUILDER.java ближайшая линия 68
private GraphicalView mChartView;
Мы создали его в методе OnResume () активности:
ChartDemo / SRC / ORG.ACHARTENGINE.CHARTDEMO.DEMO.CHART / XYCHARTBUILDER.java ближайшая линия 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();
}
}
Всякий раз, когда добавляется новые данные (когда пользователь нажимает кнопку «Добавить» в нашем случае, добавляется новая точка в текущей серии и:
ChartDemo / SRC / ORG.ACHARTENGINE.CHARTDEMO.DEMO.CHART / XYCHARTBUILDER.java ближайшая линия 147
if (mChartView != null) {
mChartView.repaint();
}
Другие советы
Есть два набора API в ChartFactory
. Отказ Например, getLineChartView()
а также getLineChartIntent()
. Отказ Настолько бывший используется для получения графического представления, которое можно добавить в индивидуальный макет, а затем используется для получения намерения. В приведенном выше примере использовался Дан getLineChartView()
API, который возвращает GraphicalView
.
Вы можете написать свой XML такой ...
<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>
И фрагмент кода Java
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();
}
}
Так вот самодостаточное место, чтобы найти все о Achartengine.. Отказ Который включает ссылку для загрузки,
- ACHARTENGINE-1.1.0-DeMo-source.zip Исходный код проекта ACHARTENGINE 1.1.0. 15 мая 15 мая 168 кб 8149
- ACHARTENGINE-1.1.0-javadocs.zip javadoc javadoc achartengine 1.1.0. 15 мая 15 мая 374 КБ 3610
- ACHARTENGINE-1.1.0.jar Библиотека двоичной сборки ACHARTENGINE 1.1.0. 15 мая 15 мая 117 КБ 5264
Которые уже позднее (при публикации этого ответа). Теперь следуйте этим простым шагам, чтобы добавить новый файл диаграммы:
- Скачать и добавить achartengine-1.1.0.jar. на раздел вашего проекта
Теперь щелкните правой кнопкой мыши файл и добавьте его, чтобы создать путь, как в изображении
Теперь как определить в предыдущих ответах, добавьте следующий код в свой класс:
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(); } }
Чтобы получить деталь о любом классе ACHARTENGINAPI, скачать achartengine-1.1.0-javadocs.zip. и открыть, нажав на index.html.
achartengine-1.1.0-demo-source.zip. будет полезен в дальнейшем более глубоком развитии, где вы можете предпринять ссылку на все диаграммы