Android: Я использую библиотеку ACHARTENGINE для графов, но не в состоянии интегрировать граф ACHARTENGINE с Android XML?

StackOverflow https://stackoverflow.com/questions/4062161

  •  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.. Отказ Который включает ссылку для загрузки,

  1. ACHARTENGINE-1.1.0-DeMo-source.zip Исходный код проекта ACHARTENGINE 1.1.0. 15 мая 15 мая 168 кб 8149
  2. ACHARTENGINE-1.1.0-javadocs.zip javadoc javadoc achartengine 1.1.0. 15 мая 15 мая 374 КБ 3610
  3. ACHARTENGINE-1.1.0.jar Библиотека двоичной сборки ACHARTENGINE 1.1.0. 15 мая 15 мая 117 КБ 5264

Которые уже позднее (при публикации этого ответа). Теперь следуйте этим простым шагам, чтобы добавить новый файл диаграммы:

  • Скачать и добавить achartengine-1.1.0.jar. на раздел вашего проекта
  • Теперь щелкните правой кнопкой мыши файл и добавьте его, чтобы создать путь, как в изображении

    Add jar to your project

  • Теперь как определить в предыдущих ответах, добавьте следующий код в свой класс:

    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. будет полезен в дальнейшем более глубоком развитии, где вы можете предпринять ссылку на все диаграммы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top