Android: J'utilise la bibliothèque AChartEngine pour les graphiques, mais pas en mesure d'intégrer le point de vue graphique de achartengine avec Android? Xml

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

  •  27-09-2019
  •  | 
  •  

Question

Mon application nécessite bibliothèque graphique et j'utilise la bibliothèque graphique de achartengine. Mon application nécessite graphique pour seulement 50% de l'écran et autre partie est utilisée pour afficher d'autres informations.

Est-il possible, avoir fichier de ressources XML pour les API graphiques de achartengine et comment le faire?

J'ai essayé de trouver un exemple, mais ne le trouve pas. Est-il pris en charge ou non?

Était-ce utile?

La solution

Ceci est une FAQ pour AChartEngine. L'application de démonstration AChartEngine est disponible en téléchargement ici: AChartEngine démo

Dans le code source de démonstration, vous pouvez voir un exemple sur la façon d'intégrer un graphique dans une vue existante.

En fait, dans le fichier descripteur d'activité .xml, nous avons défini ce qui suit comme un espace réservé pour le graphique. Bien sûr, d'autres composants de l'interface utilisateur vont de pair avec cette mise en page:

ChartDemo / layout / xy_chart.xml près de la ligne 27

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

Nous définissons une variable locale:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java près de la ligne 68

private GraphicalView mChartView;

Nous instancier la méthode onResume () de l'activité:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java près de la ligne 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();
  }
}

Chaque fois que de nouvelles données sont ajoutées (lorsque l'utilisateur appuie sur le bouton « Ajouter » dans notre cas, un nouveau point est ajouté dans la série en cours et:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java près de la ligne 147

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

Autres conseils

Il y a deux séries d'API dans ChartFactory. Pour exemple. getLineChartView() et getLineChartIntent(). Ainsi, l'ancien est utilisé pour obtenir une vue graphique qui peut être ajouté à la mise en page personnalisée et est utilisé plus tard pour obtenir l'intention. Dans l'exemple ci-dessus Dan a utilisé l'API getLineChartView() qui retourne un GraphicalView.

Vous pouvez écrire votre xml comme ça ...

    

<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>

et l'extrait de code java est

   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();
      }
    }

Voici donc un auto endroit suffisant pour trouver tout sur AChartEngine . Ce qui comprend un lien à télécharger,

  
      
  1. achartengine-1.1.0-demo-source.zip Le code source du projet de démonstration AChartEngine 1.1.0. 15 15 May May 168 KB 8149
  2.   
  3. achartengine-1.1.0-javadocs.zip La documentation javadoc AChartEngine 1.1.0. 15 15 May May 374 KB 3610
  4.   
  5. achartengine-1.1.0.jar La bibliothèque de construction binaire AChartEngine 1.1.0. 15 15 May May 117 KB 5264
  6.   

Quelles sont pour l'instant plus tard (tout en affichant cette réponse). Maintenant, suivez ces étapes afin d'ajouter un nouveau fichier graphique:

  • Télécharger et ajouter achartengine-1.1.0.jar à la section lib de votre projet
  • clic droit sur le fichier et l'ajouter au chemin de la construction, comme dans l'image

    Ajouter pot à votre projet

  • Maintenant, comme définir dans les réponses précédentes, ajoutez le code suivant à votre classe:

    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();
          }
        }
    
    • Pour obtenir les détails sur toute catégorie de AChartEngineAPI, télécharger achartengine-1.1.0-javadocs.zip et ouvert en cliquant sur index.html

    • achartengine-1.1.0-demo-source.zip sera utile lors de la poursuite du développement deepar où vous pouvez prendre référence pour toutes les cartes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top