【发布时间】:2014-05-03 15:43:40
【问题描述】:
大家好,我正在构建一个应用程序,该应用程序通过我从 mysql 获得的一些值生成动态图,这些值在 json 数组中请求。
我的代码是:
Intent i = this.getActivity().getIntent();
HashMap<String, String> hashMap = (HashMap<String, String>) i.getSerializableExtra("stockInfo");
name = i.getStringExtra("name");
ball = i.getStringExtra("price");
final ArrayList<String> myItems = new ArrayList<String>(hashMap.values());
myItems.remove(name);
myItems.remove(ball);
Button buttonLiveGraph = (Button)rootView.findViewById(R.id.buttonlive);
buttonLiveGraph.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(getActivity().getApplicationContext(), LiveGraph.class);
intent.putExtra("stockprices", myItems.toString());
getActivity().startActivity(intent);
}
});
在 LiveGraph 活动中,我得到这样的意图值:
import org.achartengine.GraphicalView;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class LiveGraph extends Activity {
private static GraphicalView view;
private LiveGraphClass live = new LiveGraphClass();
private static Thread thread;
private String myPrices;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_live_graph);
Intent i = this.getIntent();
myPrices = i.getStringExtra("stockprices");
thread = new Thread(){
@Override
public void run() {
for (double i = 0; i < 15; i++) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Point p = getDataFromReceiver(i);
live.addNewPoints(p);
view.repaint();
}
}
};
thread.start();
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
view = live.getView(this);
setContentView(view);
}
public Point getDataFromReceiver(double x){
return new Point(x, Double.parseDouble(myPrices));
}
}
我的 LiveGraphClass 活动:
public class LiveGraphClass {
private GraphicalView view;
private TimeSeries dataset = new TimeSeries("Rain Fall");
private XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();
private XYSeriesRenderer renderer = new XYSeriesRenderer();
private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
public LiveGraphClass(){
mDataset.addSeries(dataset);
mRenderer.addSeriesRenderer(renderer);
renderer.setColor(Color.WHITE);
renderer.setPointStyle(PointStyle.SQUARE);
renderer.setFillPoints(true);
mRenderer.setExternalZoomEnabled(true);
mRenderer.setZoomButtonsVisible(true);
mRenderer.setBackgroundColor(Color.BLACK);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setZoomEnabled(true);
mRenderer.setYTitle("Range");
mRenderer.setXTitle("Values");
}
public GraphicalView getView(Context context){
view = ChartFactory.getLineChartView(context, mDataset, mRenderer);
return view;
}
public void addNewPoints(Point p){
dataset.add(p.getX(), p.getY());
}
}
我的积分活动
public class Point {
private double x;
private double y;
public Point(double x, double y) {
super();
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
}
我得到了这个错误
03-25 12:20:09.515: E/AndroidRuntime(1671): java.lang.NumberFormatException: Invalid double: "[9.32, 5.22, 10.201, 2.54, 3.214, 1.02, 0.21, 0.147, 7.01, 0.365, 8.23, 0.254, 8.89, 0.155, 4.32]"
03-25 12:20:09.515: E/AndroidRuntime(1671): at java.lang.StringToReal.invalidReal(StringToReal.java:63)
03-25 12:20:09.515: E/AndroidRuntime(1671): at java.lang.StringToReal.parseDouble(StringToReal.java:269)
03-25 12:20:09.515: E/AndroidRuntime(1671): at java.lang.Double.parseDouble(Double.java:295)
谁能帮我解决这个问题?为什么会发生这种情况,因为我通过意图发送双打并且我得到双打所以我尝试生成双图??
我的php代码:
<?php
try {
$handler = new PDO(this is not available);
$handler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
echo $e->getMessage();
die();
}
$query = $handler->query('SELECT * FROM metoxes');
$records = array();
$records = $query->fetchAll(PDO::FETCH_ASSOC);
$json['metoxes'] = $records;
echo json_encode($json);
?>
提前致谢!任何帮助都将受到欢迎和赞赏。
【问题讨论】:
-
请大家帮忙看看如何从graphfragment获取值到livegraph类中??
标签: android mysql android-intent android-fragments