ユーザーデータに従って計算を行うプログラムがあります。プログラムは正常に動作しますが、プロットを作成するために achartengine を使用しようとすると、クラッシュします (プロットを実行しません)。
LineGraph クラスでデータを正しく渡しているかどうかはわかりません。
私が理解しているように、私は使用しなければなりません
「バンドル sth=getIntent.getExtras()」ですが、LineGraph のどこに配置すればよいかわかりません。
ユーザーがデータを入力してから計算ボタンを押すと、別のアクティビティで結果が表示される number_cores クラスがあります。これで、私は持っています:
public void cores_func(){
double initcores=Double.parseDouble(num_cores.getText().toString().trim());
double half_time=Double.parseDouble(halftimecores.getText().toString().trim());
double ttime=Double.parseDouble(timecores.getText().toString().trim());
double l=Math.log(2)/half_time;
double fcores=initcores*Math.exp(-l*ttime);
Intent i=new Intent(this,core_calcs.class);
i.putExtra("value",fcores);
i.putExtra("value2",initcores);
startActivity(i);
}
次に、core_calcs クラスで (上記の意図からわかるように)、結果を表示し、ユーザーがクリックするとグラフを表示するボタンを追加しました (現在、ここでクラッシュします)。
私は onCreate メソッドに (core_calcs) を持っています:
double fcores=getIntent().getExtras().getDouble("value");
double initcores=getIntent().getExtras().getDouble("value2");
その後 :
public void onClick(View v) {
switch (v.getId()){
case R.id.show_cores_graph:
double fcores=getIntent().getExtras().getDouble("value");
double initcores=getIntent().getExtras().getDouble("value2");
Intent i = new Intent();
i.setClassName("com.wordpress.androiddevgeo.Radiation",LineGraph.class.getName());
i.putExtra("value", fcores);
i.putExtra("value2", initcores);
this.startActivity(i);
break;
}
}
(また、ここに public void LineGraphHandler (ビュー ビュー) があります)
最後に、LineGraph クラス (上記の意図) で:
public class LineGraph extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Bundle extras=getIntent().getExtras();
String fcores=extras.getString("value");
String initcores=extras.getString("value2");
}
public Intent getIntent(Context context){
//double ttime=getIntent(context).getExtras().getDouble("value");
double [] x = {0,100}; //time axis
double [] y = {initcores,fcores}; //number of cores axis
TimeSeries series = new TimeSeries("Number of cores");
for (int i=0;i<x.length;i++){
series.add(x[i],y[i]);
}
XYMultipleSeriesDataset dataset=new XYMultipleSeriesDataset();
dataset.addSeries(series);
XYMultipleSeriesRenderer mRenderer =new XYMultipleSeriesRenderer();
XYSeriesRenderer renderer =new XYSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
Intent intent=ChartFactory.getLineChartIntent(context, dataset, mRenderer,"Decay");
return intent;
}
}
データ (initcores と fcores ) を LineGraph に渡す方法は?
--------エラー メッセージ -------------------------------------------- -----
W/dalvikvm(734): threadid=3: キャッチされない例外で終了するスレッド
(グループ = 0x4000fe70) 01-15 18:42:01.334: E/AndroidRuntime(734): キャッチされていないハンドラー: スレッド メインがキャッチされていない例外のために終了しています
E/AndroidRuntime(734): android.content.ActivityNotFoundException: 明示的なアクティビティ クラスが見つかりません
AndroidManifest.xml でこのアクティビティを宣言しましたか?
(LineGraph のアクティビティと "org.achartengine.GraphicalActivity" も宣言しました) ありがとうございます。