From 620528302e929f634db62079325acf23a3c29994 Mon Sep 17 00:00:00 2001 From: Leon Market Date: Wed, 24 May 2023 20:39:31 +0200 Subject: [PATCH] added Beschleunigungssensor --- .../Beschleunigungssensor.java | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java diff --git a/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java b/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java new file mode 100644 index 0000000..e15dc5b --- /dev/null +++ b/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java @@ -0,0 +1,86 @@ +package com.example.ueberwachungssystem; + +import android.content.Context; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.os.Bundle; +import androidx.appcompat.app.AppCompatActivity; +import android.widget.TextView; +import com.example.ueberwachungssystem.Logger; + +public class Beschleunigungssensor extends AppCompatActivity implements SensorEventListener +{ + + private Logger logger; + private SensorManager sensorManager; + private int sensorType = Sensor.TYPE_ACCELEROMETER; + private Sensor sensor; + + @Override + protected void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setTitle(this.getClass().getSimpleName()); + TextView textView = new TextView(this); + setContentView(textView); + + logger = new Logger(this.getClass().getSimpleName(),textView,""); + + sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); + if(sensorManager.getSensorList(sensorType).size()==0) + { + logger.log("Es gibt den gewünschten Sensor nicht"); + sensor = null; + } + else + { + sensor = sensorManager.getSensorList(sensorType).get(0); + } + } + + @Override + protected void onResume() + { + super.onResume(); + if(sensor != null) + { + if(sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME)) + { + logger.log("Wir haben uns beim Sensor angemeldet."); + } + else + { + logger.log("Das Anmelden beim Sensor hat nicht so gut geklappt"); + } + } + } + + @Override + protected void onPause() + { + super.onPause(); + if(sensor != null) { + sensorManager.unregisterListener(this, sensor); + logger.log("Wir haben uns beim Sensor abgemeldet"); + } + } + + @Override + public void onSensorChanged(SensorEvent event) + { + StringBuilder sb = new StringBuilder(); + sb.append("t=").append(event.timestamp) + .append("\nx=").append(event.values[0]) + .append("\ny=").append(event.values[1]) + .append("\nz=").append(event.values[2]); + logger.clearLog(); + logger.log(sb.toString()); + } + + @Override + public void onAccuracyChanged(Sensor sensor, int accuracy) + { + } +}