【发布时间】:2011-10-09 00:36:10
【问题描述】:
我使用的是从这里获取的图表 http://writerbay.wordpress.com/2011/03/12/android-tutorial-displaying-chart-on-android/#comment-54
在android中绘制图形。 用于绘制图形的数据取自数据库。 在 x 轴上我放了数据,在 y 轴上我放了一些表示速度的数字。
使用异步线程从 DB 中读取数据。
我想做的是:
*读取数据的四个值和速度的四个值并将它们放在图表上
*读取以下四个值并更新我的图表....直到读取数据库中的数据
我面临的问题是:
LineView lv;我的图表有一个构造函数,它只接受数组 []
作为参数所以我必须将包含整个数据的数组传递给它......这与我想要做的相反。
public class InitTask extends AsyncTask<DBAdapter,String, Void> {
String TABLE_3;
protected Void doInBackground(DBAdapter... db) {
try {
db[0].createDatabase();
db[0].openDataBase();
Cursor c = db[0].getCursor3(db[0].TABLE_3, user_id);
viteza = new float[4];
time = new String[4];
if (c.moveToFirst()) {
do {
int a=(int)Double.parseDouble(c.getString(3));
publishProgress(Integer.toString(a),c.getString(4));
Thread.sleep(500);
} while (c.moveToNext());
}
c.close();
db[0].close();
} catch (Exception e) {
Log.d("Eroare", "doInBackground", e);
}
return null;
}
protected void onProgressUpdate(String...values) {
Aitem items[] = new Aitem[1];
viteza[contor]=Float.parseFloat(values[0]);
time[contor]=values[1];
items[0]=new Aitem(Color.RED, "Evolution",viteza);
lv.setAxisValueX(time);
lv.setItems(items);
setContentView(lv);
}
}
时间是一个数组,包含我放在 x 轴上的数据,它必须是一个字符串
viteza-代表速度,也是一个包含浮点数的数组。
这就是我获取图表的方式:
items[0]=new Aitem(Color.RED, "Evolution",viteza);
lv.setItems(items);
问题是 Aitem() 构造函数需要数组 [] 字符串作为参数....我找不到用新值更新该数组 [] 的方法(逐步四个 vnew 值)
忘记旧的..
所以在某个时刻,我的图表上只显示了四个值....
问题是我不知道该怎么做...
有谁知道我该怎么做...谢谢!
编辑:contor=0 的初始值
【问题讨论】:
-
您是否有特定原因要一次执行四点?
-
它可能是五个点...但不是数据库中的所有点都一次因为有很多而且我不明白图表中的任何内容...它可能只有三个。 ...但我不知道该怎么做..thx
-
所以你不知道我怎么能做到这一点?
标签: android database charts android-asynctask