これがコードです
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
getAccelerometer(event);
}
}
private void getAccelerometer(SensorEvent event) {
float[] values = event.values;
//Movement
float x = values[0];
float y = values[1];
float z = values[2];
float accelationSquareRoot = (x * x + y * y + z * z)
/ (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);
long actualTime = System.currentTimeMillis();
if (accelationSquareRoot >= 2) //
{
if (actualTime - lastUpdate < 200) {
return;
}
if (distance <= 50 && distance > 40) {
view.setBackgroundColor(Color.GREEN);
while (distance > 0) {
distance--;
Integer.toString(distance);
lastUpdate = actualTime;
Toast.makeText(this, distance, Toast.LENGTH_SHORT)
.show();
int distance = Integer.parseInt(distance);
}
if (distance < 40){
view.setBackgroundColor(Color.YELLOW);
}
} else {
view.setBackgroundColor(Color.RED);
}
color = !color;
}
}
デバイスを振るたびに、距離変数を使用して縮小してトーストで表示しようとしています。
これは、コードが間違っている場所です。
int distance = Integer.parseInt(distance);
変数の名前を変更してほしい。私がそうすると、私のループは機能しません。
前もって感謝します!