im essayant de lire onsensorchanged toutes les x secondes, im en utilisant countdowntimer mais pas chaque seconde une seule fois lorsque la méthode est en cours d'exécution,méthode d'exécution toutes les x secondes dans accéléromètre
private CountDownTimer delay;
@Override
public void onSensorChanged(SensorEvent event) {
if (board!=null && event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
float[] values = event.values;
// Movement
x =(int) Math.floor(values[0]);
y =(int) Math.floor(values[1]);
z =(int) Math.floor(values[2]);
delay = new countleft(START_DELAY, INTERVAL);
delay.start();
}
}
class countleft extends CountDownTimer{
public countleft(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}
@Override
public void onFinish() {
if(x>=3){
board.right();
}
else if(x<=(-3)){
board.left();
}
else if(y>=3){
board.up();
}
else if(y<=(-3)){
board.down();
}
START_DELAY = 2000;
}
besoin de conseils
ce que vous voulez atteindre? – Blackbelt
Pour commencer, ** onSensorChanged() ** est appelé en continu pendant que l'entrée devient disponible, éventuellement à un débit élevé. Chaque appel lance un nouveau compte à rebours, de sorte que vous disposerez très rapidement de milliers de comptes à rebours en parallèle. Comme dit Blackbelt, il serait utile si nous savions exactement ce que vous essayiez d'atteindre. –
im essayant d'exécuter la méthode 'board.up()' et d'autres à juste toutes les 1 secondes, – user2375628