T
Techniker2013
Neues Mitglied
- 0
Hallo ich noch ein Neuling und wollte eine App schreiben, welche mir beim betätigen eines ToggleButton den Accelerometer startet. Wenn ich "An" drücke macht die App dies aber wenn ich erneut drauf drücke um den Accelerometer zu beenden bleibt der "An"-Zustand.
Ich komme einfach nicht drauf was mein Fehler ist.
Könnte mir da einer bitte helfen???
Hier der Code
Ich komme einfach nicht drauf was mein Fehler ist.
Könnte mir da einer bitte helfen???
Hier der Code
Code:
package de.poseidon_v2;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;
public class MainActivity extends Activity implements SensorEventListener {
//Globale Variablen
//Globale Hardware Variablen
private SensorManager mSensorManager;
private Sensor mAccelerometer;
//Button, Switch und TextViews
//Sensor Variablen
float values[];
ToggleButton Starten;
TextView acceleration;
//MAIN-Methode
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spielstarten();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//--------------------------------------------------------------------------------------------
//Accelerometer
//--------------------------------------------------------------------------------------------
public void Spielstarten(){
Starten = (ToggleButton) findViewById(R.id.Starten);
Starten.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(Starten.isChecked()){
AccelerometerAuslesen();
}
else {
finish();
}
}
});
}
public void AccelerometerAuslesen(){
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
acceleration=(TextView)findViewById(R.id.acceleration);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
double X=(double)(event.values[0]);
int XAchse=(int)(Math.round(X));
double Y=(double)(event.values[1]);
int YAchse=(int)(Math.round(Y));
acceleration.setText("X: "+XAchse +"/n"+" Y: "+YAchse);
}
//--------------------------------------------------------------------------------------------
//Ende des Accelerometers
//--------------------------------------------------------------------------------------------
}//End of Class