Я использую график, взятый отсюда http://writerbay.wordpress.com/2011/03/12/android-tutorial-displaying-chart-on-android/#comment-54
, чтобы нарисовать график в Android.Данные, используемые для построения графика, взяты из БД.На оси x я положил данные, а на оси y - числа, означающие скорость.
Данные из БД читаются с использованием асинхронного потока.
Я хочу сделать следующее:
* Считать четыре значения для данных и четыре значения для скорости и поместить их на график
* Считать следующие четыре значения и обновить мой график .... до получения данных из БДчитается
Проблема, с которой я сталкиваюсь, заключается в следующем:
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);
}
}
time - это массив, содержащий мои данные, которые я помещаю на ось x, это должна быть строка
viteza-for для скорости, а также массив, содержащий числа с плавающей запятой.
Вот как я получаю график:
items [0] = новый Aitem (Color.RED, "Evolution", viteza);
lv.setItems (items);
Проблема в том, что конструктору Aitem () нужны массивы [] String в качестве параметров .... и я не могу найти способ обновить этот массив [] новыми значениями (шаг за шагом четыре значения vnew)
забывая о старых ..
Так что в данный момент на моем графике отображаются только четыре значения ....
Проблема в том, что я не знаю, какчтобы сделать это ...
Кто-нибудь знает, как я могу это сделать ... Спасибо!
РЕДАКТИРОВАТЬ: начальное значение для contor = 0