web-dev-qa-db-fra.com

Android: J'utilise la bibliothèque AcharTengine pour les graphiques, mais pas en mesure d'intégrer la vue graphique de AcharTengine avec Android XML?

Mon application nécessite une bibliothèque graphique et j'utilise la bibliothèque de graphiques AcharTengine. Mon application nécessite que le graphe ne soit que 50% de l'écran et une autre partie est utilisé pour afficher d'autres informations.

Est-il possible de disposer de fichier de ressources XML pour les API graphiques de AcharTengine et comment le faire?

J'ai essayé de trouver un exemple mais je ne l'ai pas trouvé. Est-il soutenu ou pas?

28
pitnal

Ceci est un FAQ pour AcharTengine. L'application AcharTengine Demo est disponible pour le téléchargement ici: Demo AcharTengine

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

Fondamentalement, dans le fichier de 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 d'interface utilisateur vont avec cette mise en page:

Chartdemo/mise en page/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:

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

private GraphicalView mChartView;

Nous l'instancient sur la méthode OnResume () de l'activité:

CharttDemo/Src/org.achartengine.chartdemo.demo.chart/xychaartbuilder.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 actuelle et:

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

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

Il y a deux ensembles d'API dans ChartFactory. Pour par exemple. getLineChartView() et getLineChartIntent(). Donc, l'ancien est utilisé pour obtenir une vue graphique pouvant être ajoutée à la disposition personnalisée et est utilisée ultérieurement pour obtenir l'intention. Dans l'exemple ci-dessus, Dan a utilisé getLineChartView() API qui retourne un GraphicalView.

15
pitnal

Vous pouvez écrire votre XML comme celui-ci ...

<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 le Java Code Snippet 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();
      }
    }
8
Taruni

Donc, voici un endroit autonome pour trouver tout AcharTengine . Qui comprend le lien vers le téléchargement,

  1. aLARTENDINE-1.1.0-DEMO-SOURCE.ZIP Le code source du projet AcharTengine 1.1.0 Demo. 15 mai 15 mai 168 KB 8149
  2. acharTengine-1.1.0-javadocs.ZIP La documentation Javadoc 1.1.0 Javadoc. 15 mai 15 mai 374 KB 3610
  3. acharTengine-1.1.0.jar La bibliothèque de constructions binaires AcharTengine 1.1.0. 15 mai 15 mai 117 KB 5264

Qui sont les plus récents pour l'instant (lors de la publication de cette réponse). Suivez maintenant ces étapes faciles pour ajouter un nouveau fichier graphique:

  • Téléchargez et ajoutez AcharTengine-1.1.0.jar à la section LIB de votre projet
  • Maintenant, cliquez avec le bouton droit sur le fichier et ajoutez-le au chemin de construction, comme dans l'image

    Add jar to your project

  • Maintenant, comme définissez 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 des détails sur n'importe quelle classe de AcharTengineapi, téléchargez AcharTengine-1.1.0-javadocs.zip et ouvert en cliquant sur Index .html

    • ALTRAGINE-1.1.0-DEMO-SOURCE.ZIP sera utile lors de nouveaux développements de développement pur où vous pouvez faire référence à tous les graphiques

2
rptwsthi