Schritt-für-Schritt-Anleitung – Sensorwerte speichern und anzeigen

Schritt 1: State-Variable bewegungen anlegen

Damit wir alle Messwerte speichern können, brauchen wir einen neuen State in der App.js.

Fügen Sie direkt unter dieser Zeile ein:
const [maxWert, setMaxWert] = useState(0);

Diese neue Zeile:
const [bewegungen, setBewegungen] = useState([]);

Ergebnis: Jetzt haben wir einen Speicherplatz für alle Bewegungswerte.


Schritt 2: Bewegungswerte während der Messung speichern

Jetzt wollen wir jeden gemessenen Wert beim Messen in das bewegungen-Array schreiben.

Dazu passen wir die Funktion startMessung an.

Ersetzen Sie den bisherigen Aufruf innerhalb von Accelerometer.addListener(...) wie folgt:

sensorRef.current = Accelerometer.addListener(({ x, y, z }) => { const bewegung = Math.sqrt(x * x + y * y + z * z); // Neuen Wert zum Array hinzufügen (funktionale Variante!) setBewegungen((prev) => [...prev, bewegung]); if (bewegung > maxWert) { setMaxWert(bewegung); } });

Warum prev? So stellen Sie sicher, dass immer der aktuelle Zustand verwendet wird – unabhängig davon, wie oft der Sensor auslöst.

Zusätzlich:
Setzen Sie das Array vor dem Start der Messung zurück, um eine neue Liste pro Sprung zu erhalten:

setBewegungen([]);

Schritt 2 fertig! Jetzt wird bei jedem Sprung eine neue Liste mit Bewegungswerten aufgebaut.


Schritt 3: Bewegungswerte anzeigen

Jetzt sollen die gespeicherten Werte nach der Messung im ErgebnisScreen sichtbar werden.

1. Props an ErgebnisScreen übergeben (in App.js)

<ErgebnisScreen
  maxWert={maxWert}
  onRestart={startChallenge}
  bewegungen={bewegungen}
/>

2. ErgebnisScreen erweitern
In ErgebnisScreen.js ergänzen Sie den Parameter im Funktionskopf:

export default function ErgebnisScreen({ maxWert, onRestart, bewegungen }) {

Und fügen Sie diesen Code unter dem Button ein:

<View style={{ marginTop: 20 }}>
  <Text style={styles.resultText}>📊 Bewegungsliste:</Text>
  {bewegungen.slice(-100).map((wert, index) => (
    <Text key={index}>
      {index + 1}: {wert.toFixed(2)} g
    </Text>
  ))}
</View>

.slice(-100) sorgt dafür, dass nur die letzten 100 Werte angezeigt werden – für bessere Übersicht.

Schritt 3 erledigt! Nach der Messung sehen Sie jetzt die Liste aller Bewegungswerte unter dem Ergebnis. 🎉

Optional: Ergänzen Sie eine Statistik oder einen Kopier-Button – wenn Sie möchten, sagen Sie einfach Bescheid.

Zuletzt geändert: Sonntag, 15. Juni 2025, 11:36
Herausgeber: Land Baden-Württemberg, vertreten durch das Zentrum für Schulqualität und Lehrerbildung (ZSL), Heilbronner Straße 314, 70469 Stuttgart, Telefon 0711/21859-0, poststelle@zsl.kv.bwl.de
Verantwortlich im Sinne des Presserechts: ZSL, Irmgard Mühlhuber, Ref. 24 "Digitalisierung, Medienbildung", Heilbronner Straße 314, 70469 Stuttgart, Telefon 0711/21859-240, digitalebildung@zsl.kv.bwl.de
Kontakt zum/r behördlichen Datenschutzbeauftragte/n: datenschutz@zsl.kv.bwl.de