2012-04-15 33 views
10

Tôi chỉ cố gắng sử dụng bản demo achartengine, nhưng mỗi khi tôi nhấp vào một cái gì đó để hiển thị biểu đồ sẽ xuất hiện lỗi "Ứng dụng AChartengine đã dừng đột ngột. Vui lòng thử lại". Có người biết nói cho tôi biết làm thế nào tôi có thể làm? Tôi làm theo các hướng dẫn gợi ý trong trang này http://www.achartengine.org/content/goodies.html và tôi sử dụng một tiêu chuẩn giả lập với mức api 7. Tôi có các lỗi này:Ứng dụng AChartengine đã dừng đột ngột. Vui lòng thử lại

04-15 09:08:43.285: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.AverageTemperatureChart.execute 
    04-15 09:08:43.325: E/dalvikvm(333): Could not find class 'org.achartengine.model.XYSeries', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.addXYSeries 
    04-15 09:08:43.345: E/dalvikvm(333): Could not find class 'org.achartengine.model.XYMultipleSeriesDataset', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildBarDataset 
    04-15 09:08:43.387: E/dalvikvm(333): Could not find class 'org.achartengine.renderer.XYMultipleSeriesRenderer', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildBarRenderer 
    04-15 09:08:43.395: E/dalvikvm(333): Could not find class 'org.achartengine.model.CategorySeries', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildCategoryDataset 
    04-15 09:08:43.425: E/dalvikvm(333): Could not find class 'org.achartengine.renderer.DefaultRenderer', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildCategoryRenderer 
    04-15 09:08:43.425: E/dalvikvm(333): Could not find class 'org.achartengine.model.XYMultipleSeriesDataset', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildDataset 
    04-15 09:08:43.445: E/dalvikvm(333): Could not find class 'org.achartengine.model.XYMultipleSeriesDataset', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildDateDataset 
    04-15 09:08:43.445: E/dalvikvm(333): Could not find class 'org.achartengine.model.MultipleCategorySeries', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildMultipleCategoryDataset 
    04-15 09:08:43.485: E/dalvikvm(333): Could not find class 'org.achartengine.renderer.XYMultipleSeriesRenderer', referenced from method org.achartengine.chartdemo.demo.chart.AbstractDemoChart.buildRenderer 
    04-15 09:08:43.525: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.AverageCubicTemperatureChart.execute 
    04-15 09:08:43.545: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.TrigonometricFunctionsChart.execute 
    04-15 09:08:43.555: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.ScatterChart.execute 
    04-15 09:08:43.555: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.SalesComparisonChart.execute 
    04-15 09:08:43.565: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.ProjectStatusChart.execute 
    04-15 09:08:43.576: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.SalesGrowthChart.execute 
    04-15 09:08:43.595: E/dalvikvm(333): Could not find class 'org.achartengine.model.XYMultipleSeriesDataset', referenced from method org.achartengine.chartdemo.demo.chart.ProjectStatusBubbleChart.execute 
    04-15 09:08:43.606: E/dalvikvm(333): Could not find class 'org.achartengine.model.XYMultipleSeriesDataset', referenced from method org.achartengine.chartdemo.demo.chart.TemperatureChart.execute 
    04-15 09:08:43.606: E/dalvikvm(333): Could not find class 'org.achartengine.model.CategorySeries', referenced from method org.achartengine.chartdemo.demo.chart.WeightDialChart.execute 
    04-15 09:08:43.615: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.SensorValuesChart.execute 
    04-15 09:08:43.615: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.CombinedTemperatureChart.execute 
    04-15 09:08:43.626: E/dalvikvm(333): Could not find class '[Lorg.achartengine.chart.PointStyle;', referenced from method org.achartengine.chartdemo.demo.chart.MultipleTemperatureChart.execute 
    04-15 09:13:51.145: E/AndroidRuntime(333): Uncaught handler: thread main exiting due to uncaught exception 
    04-15 09:13:51.155: E/AndroidRuntime(333): java.lang.NoClassDefFoundError: [Lorg.achartengine.chart.PointStyle; 
    04-15 09:13:51.155: E/AndroidRuntime(333): at org.achartengine.chartdemo.demo.chart.AverageTemperatureChart.execute(AverageTemperatureChart.java:72) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at org.achartengine.chartdemo.demo.ChartDemo.onListItemClick(ChartDemo.java:102) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.app.ListActivity$2.onItemClick(ListActivity.java:312) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.widget.ListView.performItemClick(ListView.java:3285) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1640) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.os.Handler.handleCallback(Handler.java:587) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.os.Handler.dispatchMessage(Handler.java:92) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.os.Looper.loop(Looper.java:123) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at android.app.ActivityThread.main(ActivityThread.java:4363) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at java.lang.reflect.Method.invokeNative(Native Method) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at java.lang.reflect.Method.invoke(Method.java:521) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
    04-15 09:13:51.155: E/AndroidRuntime(333): at dalvik.system.NativeStart.main(Native Method) 
    04-15 09:13:51.175: E/dalvikvm(333): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 
+0

là con mèo đăng nhập đầy đủ này hoặc tôi nghĩ đã bỏ sót một thứ gì đó từ nhật ký lỗi logcat –

+0

bạn đang đúng toàn bộ nhật ký là đăng nhập mà tôi vừa đăng lại lúc này. – Shilaghae

+0

bạn có thể cho thấy cách bạn đang sử dụng nó một số mã mà bạn đã viết và có bạn thêm các tập tin jar achartengine trong thư mục libs. –

Trả lời

41

Xem này cho một giải pháp cho điều này: http://groups.google.com/group/achartengine/browse_thread/thread/4cb1efddad3c19d0/2b59e5164e05c469#2b59e5164e05c469

Dan

Trích:

Trong Eclipse: -> Nhấp chuột phải dự án của bạn - hãy để xây dựng con đường - chọn Định cấu hình đường dẫn xây dựng -> chuyển đến tab "Đặt hàng và xuất" -> Kiểm tra "achartengine-1.0.0 .jar hộp và sau đó nhấp chuột duy nhất tên của nó -> di chuyển nó lên để bên phải của nó dưới sự phụ thuộc Android (đôi khi điều này có thể tạo sự khác biệt nếu bạn có nhiều Chum)

bấm ok sau đó làm sạch dự án của bạn. (Project -> Clean ...)

Hãy thử chạy lại và xem điều đó có hữu ích không.

+0

Cảm ơn, tôi vừa sử dụng báo giá của bạn và khắc phục vấn đề - điểm thưởng cho ngắn gọn :) – fuzzyanalysis

+1

+1 cho liên kết. ** Từ chuỗi: **, Nếu nó nằm trong thư mục bằng tên 'lib', hãy đổi tên thành' libs' hoặc bất kỳ thứ gì khác và thêm lại đường dẫn xây dựng. –

+1

Tôi đã chuyển nó lên đầu ngay dưới src. Làm việc .. Cảm ơn – Supun

1

nếu bạn muốn biết làm thế nào công việc achartengine sau đó thêm jar achartengine 0.7.0 để libs thư mục và liên kết nó với dự án của bạn cũng có những hoạt động dưới đây.

public class GeneratedChartDemo extends ListActivity { 
    private static final int SERIES_NR = 2; 

    private String[] mMenuText; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // I know, I know, this should go into strings.xml and accessed using 
    // getString(R.string....) 
    mMenuText = new String[] { "Line chart", "Scatter chart", "Time chart", "Bar chart" }; 
    setListAdapter(new SimpleAdapter(this, getListValues(), android.R.layout.simple_list_item_1, 
     new String[] { "name"}, new int[] { android.R.id.text1 })); 
    } 

    private List<Map<String, String>> getListValues() { 
    List<Map<String, String>> values = new ArrayList<Map<String, String>>(); 
    int length = mMenuText.length; 
    for (int i = 0; i < length; i++) { 
     Map<String, String> v = new HashMap<String, String>(); 
     v.put("name", mMenuText[i]); 
     values.add(v); 
    } 
    return values; 
    } 

    private XYMultipleSeriesDataset getDemoDataset() { 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    final int nr = 10; 
    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 XYMultipleSeriesDataset getDateDemoDataset() { 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    final int nr = 10; 
    long value = new Date().getTime() - 3 * TimeChart.DAY; 
    Random r = new Random(); 
    for (int i = 0; i < SERIES_NR; i++) { 
     TimeSeries series = new TimeSeries("Demo series " + (i + 1)); 
     for (int k = 0; k < nr; k++) { 
     series.add(new Date(value + k * TimeChart.DAY/4), 20 + r.nextInt() % 100); 
     } 
     dataset.addSeries(series); 
    } 
    return dataset; 
    } 

    private XYMultipleSeriesDataset getBarDemoDataset() { 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    final int nr = 10; 
    Random r = new Random(); 
    for (int i = 0; i < SERIES_NR; i++) { 
     CategorySeries series = new CategorySeries("Demo series " + (i + 1)); 
     for (int k = 0; k < nr; k++) { 
     series.add(100 + r.nextInt() % 100); 
     } 
     dataset.addSeries(series.toXYSeries()); 
    } 
    return dataset; 
    } 

    private XYMultipleSeriesRenderer getDemoRenderer() { 
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
    renderer.setAxisTitleTextSize(16); 
    renderer.setChartTitleTextSize(20); 
    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.SQUARE); 
    r.setFillBelowLine(true); 
    r.setFillBelowLineColor(Color.WHITE); 
    r.setFillPoints(true); 
    renderer.addSeriesRenderer(r); 
    r = new XYSeriesRenderer(); 
    r.setPointStyle(PointStyle.CIRCLE); 
    r.setColor(Color.GREEN); 
    r.setFillPoints(true); 
    renderer.setXLabels(0); 
    renderer.addXTextLabel(1, "aga"); 
    renderer.addXTextLabel(2, "agar"); 
    renderer.addSeriesRenderer(r); 
    renderer.setAxesColor(Color.DKGRAY); 
    renderer.setLabelsColor(Color.LTGRAY); 
    return renderer; 
    } 

    public XYMultipleSeriesRenderer getBarDemoRenderer() { 
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
    renderer.setAxisTitleTextSize(16); 
    renderer.setChartTitleTextSize(20); 
    renderer.setLabelsTextSize(15); 
    renderer.setLegendTextSize(15); 
    renderer.setMargins(new int[] {20, 30, 15, 0}); 
    SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
    r.setColor(Color.BLUE); 
    renderer.addSeriesRenderer(r); 
    r = new SimpleSeriesRenderer(); 
    r.setColor(Color.GREEN); 
    renderer.addSeriesRenderer(r); 
    return renderer; 
    } 

    private void setChartSettings(XYMultipleSeriesRenderer renderer) { 
    renderer.setChartTitle("Chart demo"); 
    renderer.setXTitle("x values"); 
    renderer.setYTitle("y values"); 
    renderer.setXAxisMin(0); 
    renderer.setXAxisMax(5); 
    renderer.setYAxisMin(0); 
    renderer.setYAxisMax(250); 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    switch (position) { 
    case 0: 
     Intent intent = ChartFactory.getLineChartIntent(this, getDemoDataset(), getDemoRenderer()); 
     startActivity(intent); 
     break; 
    case 1: 
     intent = ChartFactory.getScatterChartIntent(this, getDemoDataset(), getDemoRenderer()); 
     startActivity(intent); 
     break; 
    case 2: 
     intent = ChartFactory.getTimeChartIntent(this, getDateDemoDataset(), getDemoRenderer(), null); 
     startActivity(intent); 
     break; 
    case 3: 
     XYMultipleSeriesRenderer renderer = getBarDemoRenderer(); 
     setChartSettings(renderer); 
     intent = ChartFactory.getBarChartIntent(this, getBarDemoDataset(), renderer, Type.DEFAULT); 
     startActivity(intent); 
     break; 
    } 
    } 
} 
Các vấn đề liên quan