2011-07-06 39 views
5

Tôi đang theo an example in this link và tạo ra một lớp như sauAndroid achartengine đơn giản biểu đồ pie

public class aChartExample { 

    public Intent execute(Context context) { 
     int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE }; 
     DefaultRenderer renderer = buildCategoryRenderer(colors); 

     CategorySeries categorySeries = new CategorySeries("Vehicles Chart"); 
     categorySeries.add("cars ", 30); 
     categorySeries.add("trucks", 20); 
     categorySeries.add("bikes ", 60); 

     return ChartFactory.getPieChartIntent(context, categorySeries, renderer, null); 
    } 

    protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
     DefaultRenderer renderer = new DefaultRenderer(); 
     for (int color : colors) { 
      SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
      r.setColor(color); 
      renderer.addSeriesRenderer(r); 
     } 
     return renderer; 
    } 
} 

và tôi gọi đó là khi ứng dụng của tôi bắt đầu từ ngày hoạt động khởi đầu của tôi trong onCreate.

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mainpage); 

    Intent achartIntent = new aChartExample().execute(this); 
    startActivity(achartIntent); 
} 

Sau đó tôi đã bao gồm achartengine-0.6.0.jar trong dự án của mình.

Khi tôi chạy ứng dụng, nó gặp sự cố trên dòng startActivity.

Không chắc chắn nên đi đâu từ đây.

+0

Ví dụ của bạn cực kỳ đơn giản và hữu ích. Cảm ơn. :) – Enrichman

Trả lời

11

Bạn đã thêm dòng dưới đây vào AndroidManifest.xml chưa. Nếu vậy bạn có thể đăng thông báo lỗi, tôi đã thử ví dụ tương tự 2 ngày trước và làm việc cho tôi.

<activity android:name="org.achartengine.GraphicalActivity"> 
+0

nó vẫn cho tôi lỗi như - java.lang.NoClassDefFoundError: org.achartengine.renderer.DefaultRenderer. phải làm gì? –

+0

k tôi giải quyết ... tệp jar không được thêm trước đó .. –

0

startActivity chỉ thực hiện các hoạt động. Không phải cho tất cả các lớp.

0

Danh mục cuối cùngSeries series = new CategorySeries ("pie");

 for (int i = 0; i < Xaxes_value.size(); i++) { 
      series.add(Xaxes_value.get(i) + "", 
        Long.parseLong(yaxes_value.get(i))); 
     } 


    List<Integer> colors = new ArrayList<Integer>(); 
    int[] colorr = { Color.parseColor("#56ADDB"), 
      Color.parseColor("#F59331"), Color.parseColor("#73C83C"), 
      Color.parseColor("#948D8B"), Color.parseColor("#E54273"), 
      Color.parseColor("#FFD34E"), Color.parseColor("#2A86D6"), 
      Color.parseColor("#00BFC0"), Color.parseColor("#95AC5F"), 
      Color.parseColor("#FF8497") }; 

    for (int i = 0; i < yaxes_value.size(); i++) { 
     colors.add(colorr[i]); 

    } 
    renderer = new DefaultRenderer(); 
    for (int color = 0; color < colors.size(); color++) { 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(colors.get(color)); 
     r.setDisplayBoundingPoints(false); 
     // r.setDisplayChartValuesDistance(20); 
     r.setDisplayChartValues(false); 
     r.setChartValuesTextSize(18); 
     r.setStroke(BasicStroke.SOLID); 
     renderer.addSeriesRenderer(r); 
    } 
    // renderer.isInScroll(); 

    renderer.setZoomEnabled(false); 
    renderer.setPanEnabled(false); 
    renderer.setZoomButtonsVisible(false); // set zoom button in Graph 
    renderer.setApplyBackgroundColor(false); 
    renderer.setBackgroundColor(Color.WHITE); // set background color 
    renderer.setChartTitle("Pie Chart"); 
    renderer.setLabelsColor(Color.BLACK); 
    renderer.setMargins(new int[] { 20, 100, 20, 15 }); 
    renderer.setLabelsTextSize(20); 
    renderer.setChartTitleTextSize((float) 30); 
    renderer.setShowLabels(false); 
    renderer.setLegendTextSize(25); 
    renderer.setDisplayValues(true); 
    renderer.setStartAngle(90); 
    GraphicalView mChart = ChartFactory.getPieChartView(getApplicationContext(), series, 
      renderer); 

    layout_graph.addView(mChart); 
Các vấn đề liên quan