Generierung eines Graphen mit Hilfe von entfernten Daten aus einer Datenbank auf achartengine
Ich versuche, mit achartengine ein Diagramm zu erstellen, das die Daten aus einer Datenbank abruft und das Diagramm mit den Daten auffüllt. Es folgt der Code, der das Diagramm ausfüllt. Alle Daten werden in gespeichert
"dataArraylist". Dieser Code füllt die Daten in einem Diagramm
<code> CategorySeries series = new CategorySeries("Bar Graph"); //"series" = graph for(int i=0; i< size; i++) { series.add("Bar"+(i+1), dataArraylist.get(i)); //add each of the value to the series i.e graph } XYMultipleSeriesDataset dataset= new XYMultipleSeriesDataset(); dataset.addSeries(series.toXYSeries()); //add the graph into a dataset // customisation for the first line XYSeriesRenderer renderer = new XYSeriesRenderer(); renderer.setDisplayChartValues(true); renderer.setChartValuesSpacing((float) 0.5); renderer.setColor(Color.WHITE); XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); //create a new renderer. mRenderer.addSeriesRenderer(renderer); //renderer lets one to change the proerties of the graph i.e line colour etc mRenderer.setXTitle("X VALUES"); mRenderer.setXTitle("Y VALUES"); mRenderer.setChartTitle("This is title"); Intent intent = ChartFactory.getBarChartIntent(context, dataset, mRenderer,Type.DEFAULT, "Title"); //package the whole chart together return intent; </code>
Wenn ich jedoch versuche, es zu kompilieren, erhalte ich einen Null-Ausnahmefehler. Der folgende Fehler wird nach einer Null-Ausnahme angezeigt:
<code> 04-07 21:09:31.713: E/AndroidRuntime(4091): java.lang.IllegalStateException: Could not execute method of the activity </code>
Ich habe auch Probleme bei der Weitergabe der Daten von einer Aktivität an die Diagrammaktivität. Eine Antwort wäre dankbar
Das vollständige Protokoll lautet:
<code> 04-07 21:09:31.674: D/AndroidRuntime(4091): Shutting down VM 04-07 21:09:31.674: W/dalvikvm(4091): threadid=1: thread exiting with uncaught exception (group=0x40015560) 04-07 21:09:31.713: E/AndroidRuntime(4091): FATAL EXCEPTION: main 04-07 21:09:31.713: E/AndroidRuntime(4091): java.lang.IllegalStateException: Could not execute method of the activity 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.view.View$1.onClick(View.java:2144) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.view.View.performClick(View.java:2485) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.view.View$PerformClick.run(View.java:9080) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.os.Handler.handleCallback(Handler.java:587) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.os.Handler.dispatchMessage(Handler.java:92) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.os.Looper.loop(Looper.java:123) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.app.ActivityThread.main(ActivityThread.java:3683) 04-07 21:09:31.713: E/AndroidRuntime(4091): at java.lang.reflect.Method.invokeNative(Native Method) 04-07 21:09:31.713: E/AndroidRuntime(4091): at java.lang.reflect.Method.invoke(Method.java:507) 04-07 21:09:31.713: E/AndroidRuntime(4091): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 04-07 21:09:31.713: E/AndroidRuntime(4091): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 04-07 21:09:31.713: E/AndroidRuntime(4091): at dalvik.system.NativeStart.main(Native Method) 04-07 21:09:31.713: E/AndroidRuntime(4091): Caused by: java.lang.reflect.InvocationTargetException 04-07 21:09:31.713: E/AndroidRuntime(4091): at java.lang.reflect.Method.invokeNative(Native Method) 04-07 21:09:31.713: E/AndroidRuntime(4091): at java.lang.reflect.Method.invoke(Method.java:507) 04-07 21:09:31.713: E/AndroidRuntime(4091): at android.view.View$1.onClick(View.java:2139) 04-07 21:09:31.713: E/AndroidRuntime(4091): ... 11 more 04-07 21:09:31.713: E/AndroidRuntime(4091): Caused by: java.lang.NullPointerException 04-07 21:09:31.713: E/AndroidRuntime(4091): at hudds.fc.coach.ReadinessGraph.getIntent(ReadinessGraph.java:45) 04-07 21:09:31.713: E/AndroidRuntime(4091): at hudds.fc.coach.Overview.generateGraph(Overview.java:101) 04-07 21:09:31.713: E/AndroidRuntime(4091): ... 14 more 04-07 21:09:34.746: I/Process(4091): Sending signal. PID: 4091 SIG: 9 </code>
Mit dem folgenden Code werden die Daten aus der Datenbank heruntergeladen:
<code> try { if (json.getString(KEY_SUCCESS) != null) { String getsize=json.getString("size"); size = Integer.parseInt(getsize); for (int i = 0; i < size; i++) { String getRating=json.getJSONArray("number").getJSONObject(i).getString("rating_number"); int rating = Integer.parseInt(getRating); readinessRatng.add(rating); String printratings=readinessRatng.toString(); Log.e("ratings are", printratings); } } else{ } } catch (JSONException e) { e.printStackTrace(); } </code>