2013-03-20 7 views
1

그래프의 형태로 내 데이터를 나타내는 데 achartengine-1.0.0을 사용하고 있습니다. 특성 빌드 경로에서 jar 파일의 경로를 제공했습니다. 주문 및 가져 오기 탭에서 achartengine-1.0.0.jar 옵션을 선택했습니다. 그러나 내 응용 프로그램을 디버깅 할 때 "원본 첨부 파일에 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

답변

0

here의 지침에 따라 전체 AChartEngine 소스 코드를 얻을 수 있습니다. 디 컴파일을 걱정하지 않아도됩니다.

+0

감사합니다 !! 그렇게 할 것입니다. – Mahe

관련 문제