gpt4 book ai didi

android - 在android中绘制图形

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:18 25 4
gpt4 key购买 nike

我使用的是从这里获取的图表 http://writerbay.wordpress.com/2011/03/12/android-tutorial-displaying-chart-on-android/#comment-54

在android中绘制图表。用于绘制图形的数据取自数据库。我在 x 轴上放置数据,在 y 轴上放置一些表示速度的数字。

使用异步线程从数据库中读取数据。

我想做的是:

*读取四个数据值和四个速度值并将它们放在图表上

*读取以下四个值并更新我的图表....直到读取数据库中的数据

我面临的问题是:

线景 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);
}

}

time 是一个包含我放在 x 轴上的数据的数组,它必须是一个字符串

viteza-是为了速度,也是一个包含 float 的数组。

这是我获取图表的方式:

items[0]=new Aitem(Color.RED, "Evolution",viteza);

lv.setItems(项目);

问题是 Aitem() 构造函数需要 arrays[] String 作为参数....我找不到用新值更新 array[] 的方法(四个 vnew 值一步一步)

忘记旧的..

所以在某个时刻我的图表上只显示了四个值....

问题是我不知道该怎么做...

有谁知道我该怎么做...谢谢!

编辑:contor=0 的初始值

最佳答案

我可以看到您有两个选项。第一个会更容易实现,但在性能上更难,那就是将显示和绘制图形重新绘制一遍,尽可能多地读取。第二种选择是读入 4 个点并画出它们,然后读入接下来的 4 个点并在新的一行中画出它们,依此类推。

-= 编辑 =-

public class InitTask extends AsyncTask<DBAdapter, Double, Void> 
{
String TABLE_3;

protected Void doInBackground(DBAdapter... db)
{
try
{

// Like before

do
{
double x1 = Double.parseDouble(c.getString(1));
double y1 = Double.parseDouble(c.getString(2));
double x2 = Double.parseDouble(c.getString(3));
double y2 = Double.parseDouble(c.getString(4));
double x3 = Double.parseDouble(c.getString(5));
double y3 = Double.parseDouble(c.getString(6));
double x4 = Double.parseDouble(c.getString(7));
double y4 = Double.parseDouble(c.getString(8));

publishProgress(x1, y1, x2, y2, x3, y3, x4, y4);
Thread.sleep(500);
} while (c.moveToNext());

// Like before

return;
}

protected void onProgressUpdate(Double...values)
{
double x1 = values[0];
double y1 = values[1];
double x2 = values[2];
double y2 = values[3];
double x3 = values[4];
double y3 = values[5];
double x4 = values[6];
double y4 = values[7];
}

关于android - 在android中绘制图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com