Я пишу приложение, используя Bluetooth и GraphView, чтобы увидеть данные акселерометра.Чтобы составить график каждого набора точек данных, я создал функцию, которая принимает данные и линейный график, которые должны быть включены, и настроил обработчик для периодического выполнения работы, но это не кажется мне правильным.Правильнее ли использовать 3 обработчика или это нормально?Должны ли обработчики использовать post вместо этого?Какой способ более эффективен?
public void addEntry(final String data, final LineGraphSeries Series){
// does there need to be a runnable in a function or can we just do one?
graphHandle.postDelayed(new Runnable() {
@Override
public void run() {
float dataVal = 0;
DataPoint point;
float current = (System.currentTimeMillis() - start)/1000;
try {
dataVal = Float.parseFloat(data);
Series.appendData(point = new DataPoint(current ,dataVal), true, 20); // Data point, scroll to end, max data points
//lastX = lastX + 1;
Log.i("Time", "" + current);
Log.d("Add Entry", "" + Series.toString());
Log.d("dataVal1", "" + dataVal);
Log.i("Datapoint1", "Point " + point.toString());
} catch (Exception e) {
e.printStackTrace();
Log.d("STR -> INT", "int dataVal contained string");
Log.d("dataVal2", "" + dataVal);
}
point = null;
Log.i("Datapoint2", "Point " + point);
}
}, 200);
}