Mit synthetischen Daten aus Health Services unter Wear OS deine App testen tatsächlich eine Übung stattfand.
Wenn Sie Tests auf einem Emulator mit Wear OS 3 (API-Level 30) oder höher ausführen, können Sie synthetische Daten verwenden, die vom Emulator generiert wurden. Sehen Sie sich Folgendes an: Leitfaden zu den Unterschieden zwischen der Generierung synthetischer Daten für Wear OS 3 oder höher.
Synthetische Daten unter Wear OS 4 und höher verwenden
Beim Testen auf einem Emulator mit Wear OS 4 (API-Level 33) oder höher die vom Emulator erzeugten synthetischen Daten zum Testen Ihrer App verwenden können. Dieses bietet eine Reihe von Verbesserungen bei der Generierung synthetischer Daten auf älteren Wear OS-Versionen:
Die Generierung synthetischer Daten unter Wear OS 4 und höher ist in das Lebenszyklus der Health Services API. Das bedeutet, dass ADB nicht erforderlich ist, um das Training zu starten oder zu beenden. Stattdessen können Sie die wie Nutzende es in der App tun würden.
Erweiterte Unterstützung für Trainingsereignisse: Du kannst den Empfang automatischer Pausen simulieren. und Ereignisse fortsetzen, Herbstereignisse Schlaferkennung, und Golftreffererkennung.
Sensorfeld für Gesundheitsdienste verwenden
Android Studio Koala Feature Drop (Canary) enthält ein Gesundheitsdienste im Wear OS-Sensorbereich. Das Steuerfeld kann verwendet werden, um eine Geräte, die spezielle Sensorfunktionen haben oder nicht, was wichtig ist. beim Erstellen von Fitness-Apps unter Wear OS testen.
Dort können Sie auch die Werte ändern und beobachten, und die App passt sich an.
So öffnen und verwenden Sie das Steuerfeld:
- Ein virtuelles Android-Gerät (AVD) erstellen oder öffnen und führe deine App im Emulator aus.
- Wählen Sie im Emulator-Steuerfeld Wear Health Services aus.
Der Bereich Wear Health Services wird geöffnet und Sie sehen eine Liste der Sensoren, die auf verschiedenen Android-Mobilgeräte
Nach dem Öffnen des Steuerfelds haben Sie folgende Möglichkeiten:
- Wechseln Sie zwischen den Standardfunktionen. Alle Funktionen (Standardeinstellung) oder Benutzerdefiniert. Wählen Sie Übernehmen aus, um die Liste der Funktionen auf dem emulierten Gerät und wählen Sie Zurücksetzen Die Liste der Funktionen auf die standardmäßigen Ein-/Aus-Werte zurücksetzen.
- Verschiedene Nutzerereignisse auslösen, nachdem Sie die Triggerereignisse ausgewählt haben Dropdown-Schaltfläche. Von hier aus können Sie automatisches Pausieren/Fortsetzen der Fitnessdaten auslösen. Aktivitäten, Schlafereignisse auslösen durch den Nutzer und Golfschläge auslösen die der Nutzer auf einem Golfplatz oder Minigolfplatz betritt.
- Sensorwerte überschreiben, nachdem du mit einem Training in einer installierten App begonnen hast im Emulator. Nachdem du neue Werte für verschiedene Trainingsmesswerte eingegeben hast, Wählen Sie Anwenden aus, um diese Werte mit dem Emulator zu synchronisieren. Dies ist nützlich für um zu testen, wie deine App mit verschiedenen Trainingsbedingungen und den Fitness Tendenzen.
Synthetische Daten mit dem Emulator generieren
Du kannst deine App auch ohne das Sensorfeld ausführen und automatisch vom Emulator generiert.
Über die Einstellungen in der App können Sie die Generierung synthetischer Daten starten, pausieren und beenden.
Beachten Sie außerdem, dass der Emulator für jede Übung die gleichen Datenwerte generiert.
Ereignisse simulieren
Sie können verschiedene Ereignisse im Emulator simulieren, z. B. AUTO_PAUSE_DETECTED
.
Mit dem folgenden Befehl können diese Ereignisse ausgelöst werden:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Synthetische Ereignisse
Veranstaltung |
Schlüssel |
---|---|
Automatische Pause erkannt |
|
Automatische Fortsetzung erkannt |
|
Sturz erkannt |
|
Schlaf erkannt |
|
Schlaf-Stopp erkannt |
|
Golfschlag erkannt |
|
Sie können beispielsweise den folgenden Befehl verwenden, um ein automatisches Pause-Ereignis auszulösen:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Für Golfschlagereignisse sollten Sie zusätzliche Parameter für den Typ des Golfschlags, im Folgenden:
Art des Golfschlags |
Parameter |
---|---|
Putttyp für den Schwung |
Putt |
Teiltyp des Schaukels |
teilweise Maximierung |
Schaukel (Kompletttyp) |
voll |
Fügen Sie den Schlagtyp des Golfschlags hinzu, nachdem Sie das Golfschlag-Ereignis 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 teilweisen 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
Beim Testen auf einem Emulator mit Wear OS 3 können Sie auch synthetische Daten zum Testen Ihrer App.
Generierung synthetischer Daten aktivieren
Führe die folgenden Schritte aus, um die Generierung synthetischer Daten unter Wear OS 3 zu aktivieren.
- Aktivieren Sie die 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, führen Sie die hier beschriebenen Befehle aus. um das Verhalten des „synthetischen Nutzers“ zu steuern.
Generierung synthetischer Daten deaktivieren
Mit dem folgenden Befehl können Sie wieder auf echte Sensoren zurückwechseln:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Synthetische Übungen
Health Services unterstützt die folgenden Trainingstypen:
- Zu Fuß:
whs.synthetic.user.START_WALKING
- Läuft:
whs.synthetic.user.START_RUNNING
- Wandern:
whs.synthetic.user.START_HIKING
- Schwimmen:
whs.synthetic.user.START_SWIMMING
- Laufband (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 Standardroute
- Dauer der Aktivität
- Höhe und Etagen
Außerdem können die folgenden Status generiert werden:
- Schlafstatus: schlafen oder wach
- Unfallerkennung
Starten
Um mit der Simulation einer Übung zu beginnen, sende 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ät | Herzfrequenz | Durchschnittsgeschwindigkeit | Höhenunterschied | Standort verwenden |
---|---|---|---|---|
Gehen | 120 SPM | 1,4 m/s | 20 m/Min. | wahr |
Laufen | 170 SPM | 2,3 m/s | 20 m/Min. | wahr |
Wandern | 150 SPM | 1,3 m/s | 20 m/Min. | wahr |
Schwimmen | 150 SPM | 1,6 m/s | 0,0 m/Min. | wahr |
Laufen auf Laufband | 160 SPM | 2,3 m/s | 20 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 einen benutzerdefinierten
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. Standardeinstellung: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. Wirkt sich auch auf die Schritte pro Minute oder Kadenz aus. Standardeinstellung:0
.--ez exercise_options_use_location <boolean>
: ob während des Trainings Standortdaten über eine Standardroute gesendet werden sollen. Standardeinstellung:false
.--ef exercise_options_max_elevation_rate <float>
: maximal mögliche Höhenänderungsrate in Metern pro Minute. Standardeinstellung:0
.
Lege zum Beispiel Trainingsoptionen so 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, nicht die tatsächliche oder emulierte Hardware einen bestimmten Datentyp unterstützt. Sie können beispielsweise die absolute Höhe, Dies wird 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 Ruhemodus-Status für den synthetischen Nutzer auslösen. Zwei Zustände sind 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 in den Wachzustand zu wechseln:
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 die Gesundheitsdienste das Herbstereignis bereitstellen.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Quelltyp
- Arithmetischer Ausdruck
- ListConfiguration (Listenkonfiguration)