Verwenden Sie synthetische Daten, die von Health Services unter Wear OS generiert werden, um Ihre App so zu testen, als würde eine Übung stattfinden.
Wenn Sie einen Emulator mit Wear OS 4 (API 33) oder Wear OS 3 (API 30) testen, können Sie die vom Emulator generierten synthetischen Daten verwenden. In der folgenden Anleitung finden Sie weitere Informationen zu den Unterschieden zwischen der Generierung synthetischer Daten für Wear OS 3 und Wear OS 4.
Synthetische Daten unter Wear OS 4 verwenden
Wenn Sie den Test mit einem Emulator mit Wear OS 4 (API 33) durchführen, können Sie Ihre App mit den vom Emulator generierten synthetischen Daten testen. Dadurch werden einige Verbesserungen bei der Generierung synthetischer Daten unter Wear OS 3 eingeführt:
Die Generierung synthetischer Daten unter Wear OS 4 ist in den Lebenszyklus der Health Services API eingebunden. Das bedeutet, dass keine ADB-Befehle zum Starten oder Beenden der Übung erforderlich sind. Stattdessen können Sie die Übung wie ein Nutzer in der App starten oder beenden.
Erweiterte Unterstützung für Trainingsereignisse: Du kannst den Empfang von Ereignissen zum automatischen Pausieren und Fortsetzen, Sturzereignisse, der Schlaferkennung und Golf Shots-Erkennung simulieren.
Mit den Steuerelementen in der App können Sie die Generierung synthetischer Daten starten, pausieren und beenden.
Beachten Sie auch, dass der Emulator für jede Übung dieselben Datenwerte generiert.
Ereignisse simulieren
Sie können verschiedene Ereignisse im Emulator simulieren, z. B. AUTO_PAUSE_DETECTED
.
Diese Ereignisse können mit dem folgenden Befehl ausgelöst werden:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Synthetische Ereignisse
Veranstaltung |
Schlüssel |
---|---|
Automatische Pause erkannt |
|
Automatischer Fortsetzen erkannt |
|
Sturz erkannt |
|
Schlaf erkannt |
|
Schlafausbruch erkannt |
|
Golfschuss erkannt |
|
Sie können beispielsweise den folgenden Befehl verwenden, um ein Ereignis zum automatischen Pausieren auszulösen:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Für Golfschläger-Ereignisse sollten Sie zusätzliche Parameter für den Arten des Golfschlags angeben, die im Folgenden beschrieben werden:
Art des Golfschlags |
Parameter |
---|---|
Schwung-Putt-Typ |
Putt |
Teiltyp Schaukel |
parteiisch |
Kompletter Griff |
voll |
Fügen Sie den Golfschlagtyp hinzu, nachdem Sie das Golfschlagereignis angegeben haben:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Der folgende Befehl löst beispielsweise einen Teil-Golfschlag aus:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Synthetische Daten unter Wear OS 3 verwenden
Wenn Sie den Test auf einem Emulator mit Wear OS 3 durchführen, können Sie Ihre App auch mit synthetischen Daten testen.
Generierung synthetischer Daten aktivieren
Führen Sie die folgenden Schritte aus, um die Generierung synthetischer Daten unter Wear OS 3 zu aktivieren.
- Aktivieren Sie Entwickleroptionen.
Führen Sie den folgenden
adb
-Befehl aus, um den synthetischen Modus zu aktivieren:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Sobald die Generierung synthetischer Daten aktiviert ist, können Sie mit den auf dieser Seite beschriebenen Befehlen das Verhalten des „synthetischen Nutzers“ steuern.
Generierung synthetischer Daten deaktivieren
Führen Sie den folgenden Befehl aus, um wieder echte Sensoren zu verwenden:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Synthetische Übungen
Die Gesundheitsdienste unterstützen die folgenden Trainingstypen:
- Zu Fuß:
whs.synthetic.user.START_WALKING
- Wird ausgeführt:
whs.synthetic.user.START_RUNNING
- Wandern:
whs.synthetic.user.START_HIKING
- Schwimmen:
whs.synthetic.user.START_SWIMMING
- Laufen auf dem Laufband:
whs.synthetic.user.START_RUNNING_TREADMILL
In den Übungen werden realistische synthetische Daten für die folgenden Datentypen generiert:
- Herzfrequenz
- Schrittzahl pro Minute
- GPS-Standort mit einer einzigen Standardroute
- Dauer der Aktivität
- Höhe und Etagen
Darüber hinaus können die folgenden Status generiert werden:
- Schlafstatus – schlafen oder wach
- Unfallerkennung
Start
Um eine Übung zu simulieren, senden Sie die entsprechende Übertragung an com.google.android.wearable.healthservices
:
# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices
Für jede Aktivität gibt es Voreinstellungen für die unterstützten Messwerte:
Aktivitäten | Herzfrequenz | Durchschnittliche Geschwindigkeit | Höhenunterschied | Standort verwenden |
---|---|---|---|---|
Gehen | 120 SPM | 1,4 m/s | 20,0 m/min | true |
Läuft | 170 SPM | 2,3 m/s | 20,0 m/min | true |
Wandern | 150 SPM | 1,3 m/s | 20,0 m/min | true |
Schwimmen | 150 SPM | 1,6 m/s | 0,0 m/min | true |
Laufen auf dem Laufband | 160 SPM | 2,3 m/s | 20,0 m/min | false |
Aufnahme beenden
Verwenden Sie den folgenden Befehl, um die synthetische Aktivität zu beenden:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Benutzerdefiniert
Wenn Sie genauer steuern möchten, welche Messwerte generiert werden, starten Sie eine benutzerdefinierte Trainingsaktivität mit dem Aktionsstring whs.synthetic.user.START_EXERCISE
.
Geben Sie eine beliebige Kombination der folgenden Flags an:
--ei exercise_options_duration_secs <int>
: Dauer der Übung in Sekunden. Standardwert:0
.--ei exercise_options_heart_rate <int>
: Herzfrequenz in Schlägen pro Minute. Durchschnitt:70
.--ef exercise_options_average_speed <float>
: Durchschnittsgeschwindigkeit in Metern pro Sekunde. Dies wirkt sich auch auf die Schritte pro Minute oder die Kadenz aus. Standardwert:0
.--ez exercise_options_use_location <boolean>
: Gibt an, ob Standortdaten während des Trainings über eine Standardroute gesendet werden sollen. Standardwert:false
.--ef exercise_options_max_elevation_rate <float>
: Maximal mögliche Höhenänderungsrate in Metern pro Minute. Standardwert:0
.
Lege zum Beispiel so Übungsoptionen fest:
adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices
Sie können auch die verfügbaren Datentypen ändern, unabhängig davon, ob die echte oder emulierte Hardware einen bestimmten Datentyp unterstützt. Sie können beispielsweise die absolute Höhe aktivieren oder deaktivieren, wie im folgenden Snippet gezeigt:
# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices
# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices
Andere Status und Ereignisse
Schlafstatus
Sie können auch Schlafzustände für den synthetischen Nutzer auslösen. Es werden zwei Zustände unterstützt: schlafen und wach.
Führen Sie den folgenden Befehl aus, um in den Ruhemodus zu wechseln:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Führen Sie den folgenden Befehl aus, um den Ruhemodus zu beenden:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Unfallerkennung
Führen Sie den folgenden Befehl aus, um einen Sturz zu simulieren:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Es kann bis zu einer Minute dauern, bis das Gesundheitsamt die Veranstaltung im Herbst durchführt.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Quelltyp
- ArithmeticExpression
- ListConfiguration (Listenkonfiguration)