2013-03-20 36 views
1

我使用achartengine-1.0.0以圖形的形式表示我的數據。在Properties Build路徑中,我給出了jar文件的路徑。在訂單和導入選項卡中,我檢查了achartengine-1.0.0.jar選項。 但是在調試我的應用程序時,仍然顯示「Source附件不包含ChartFactory.class文件的源代碼」。 這裏是代碼,源附件不包含文件的來源ChartFactory.class

import org.achartengine.ChartFactory; 
import org.achartengine.GraphicalView; 
import org.achartengine.chart.PointStyle; 
import org.achartengine.chart.BarChart.Type; 
import org.achartengine.model.XYMultipleSeriesDataset; 
import org.achartengine.model.XYSeries; 
import org.achartengine.renderer.XYMultipleSeriesRenderer; 
import org.achartengine.renderer.XYSeriesRenderer; 


public class MainActivity extends Activity { 

    private static final int SERIES_NR = 2; 
    public final android.content.Context Context = MainActivity.this;  


    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button ReportGraph=(Button)findViewById(R.id.ReportGraph); 
    ReportGraph.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      RelativeLayout relChartView=(RelativeLayout)findViewById(R.id.ChartView); 
      GraphicalView GraphChartView = ChartFactory.getBarChartView(getApplicationContext(), getDemoDataset(), getDemoRenderer(),Type.DEFAULT); 
      //ChartFactory.getLineChartIntent(this, getDemoDataset(), getDemoRenderer()); 
      relChartView.addView(GraphChartView); 
     } 
    }); 

} 

    private XYMultipleSeriesDataset getDemoDataset() { 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    final int nr = 7; 
    Random r = new Random(); 
    for (int i = 0; i < SERIES_NR; i++) { 
     XYSeries series = new XYSeries("Demo series " + (i + 1)); 
     for (int k = 0; k < nr; k++) { 
      series.add(k, 20 + r.nextInt() % 100); 
     } 
     dataset.addSeries(series); 
    } 
    return dataset; 
} 

private XYMultipleSeriesRenderer getDemoRenderer() { 
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
    renderer.setAxisTitleTextSize(12); 
    renderer.setChartTitleTextSize(12); 
    renderer.setLabelsTextSize(15); 
    renderer.setLegendTextSize(15); 
    renderer.setPointSize(5f); 
    renderer.setMargins(new int[] { 20, 30, 15, 0 }); 
    XYSeriesRenderer r = new XYSeriesRenderer(); 
    r.setColor(Color.BLUE); 
    r.setPointStyle(PointStyle.DIAMOND); 
    r.setFillBelowLine(false); 
    r.setFillPoints(true); 
    renderer.addSeriesRenderer(r); 
    setChartSettings(renderer); 
    return renderer; 
} 

private void setChartSettings(XYMultipleSeriesRenderer renderer) { 
    renderer.setChartTitle("Chart demo"); 
    renderer.setXTitle("x values"); 
    renderer.setYTitle("y values"); 
    renderer.setApplyBackgroundColor(false); 
    renderer.setRange(new double[] {0,6,-70,40}); 
    renderer.setFitLegend(false); 
    renderer.setAxesColor(Color.BLACK); 
    renderer.setShowGrid(true); 
    renderer.setXAxisMin(0.5); 
    renderer.setXAxisMax(10.5); 
    renderer.setYAxisMin(0); 
    renderer.setZoomEnabled(false); 
    renderer.setYAxisMax(100); 
    } 
} 

請任何人幫助我。任何幫助將不勝感激!!! 謝謝。

+0

找到解決方案!我使用JD-GUI反編譯器對jar文件進行反編譯,並將所有源文件保存爲achartengine-1.0.0.src,並將src路徑添加到Build Path中。現在我可以調試我的應用程序,無任何例外。 – Mahe 2013-03-20 06:26:28

回答

0

您可以按照說明here獲取整個AChartEngine源代碼。你不需要去反編譯它。

+0

謝謝!那會做。 – Mahe 2013-03-20 07:38:06

相關問題