Używaj danych syntetycznych wygenerowanych przez usługi zdrowotne na Wear OS, aby testować aplikację tak, jakby trening naprawdę miał miejsce.
Jeśli testujesz na emulatorze z Wear OS 3 (poziom interfejsu API 30 lub nowszy), możesz używać danych syntetycznych wygenerowanych przez emulator. Aby dowiedzieć się więcej o różnicach między generowaniem danych syntetycznych w Wear OS 3 i nowszych wersjach, zapoznaj się z tym przewodnikiem.
Korzystanie z danych syntetycznych na Wear OS 4 i wyższych
Jeśli testujesz aplikację na emulatorze z Wear OS 4 (poziom interfejsu API 33) lub nowszym, możesz użyć danych syntetycznych wygenerowanych przez emulator. Dzięki temu możesz korzystać z kilku ulepszeń w generowaniu danych syntetycznych w porównaniu z wcześniejszymi wersjami Wear OS:
Generowanie danych syntetycznych na Wear OS 4 i nowszych jest zintegrowane z cyklem życia interfejsu Health Services API. Oznacza to, że nie trzeba używać poleceń adb do uruchamiania ani zatrzymywania ćwiczenia. Zamiast tego możesz rozpocząć lub zatrzymać ćwiczenie w aplikacji, tak jak użytkownik.
Rozszerzona obsługa zdarzeń związanych z ćwiczeniami: możesz symulować otrzymywanie zdarzeń automatycznego wstrzymywania i wznawiania, zdarzeń upadku, wykrywania snu oraz wykrywania uderzeń w golfa.
Korzystanie z panelu czujników usług zdrowotnych
Android Studio Koala Feature Drop (Canary) zawiera panel czujników z usługami zdrowotnymi na Wear OS. Panel może symulować urządzenie z określonymi możliwościami czujników lub bez nich. Jest to ważne podczas tworzenia aplikacji fitness na Wear OS.
Możesz też użyć tego panelu, aby zmienić wartości danych i obserwować, jak aplikacja się dostosowuje.
Aby otworzyć panel i z niego korzystać:
- Utwórz lub otwórz urządzenie wirtualne Androida (AVD) i uruchom aplikację na emulatorze.
- W panelu emulatora wybierz Wear Health Services. Otwiera się panel Usługi zdrowotne Wear, w którym wyświetlana jest lista czujników dostępnych na różnych urządzeniach z Androidem.
Po otwarciu panelu możesz:
- Przełącz między opcjami Standardowe funkcje i Wszystkie funkcje (domyślnie), aby wybrać zestaw funkcji, które mają być włączone podczas następnego ćwiczenia. Możesz włączyć lub wyłączyć poszczególne funkcje, zaznaczając pola wyboru. Kliknij Zastosuj, aby wysłać bieżącą listę funkcji do emulowanego urządzenia, a następnie wybierz Resetuj, aby przywrócić domyślne wartości włączenia i wyłączenia listy funkcji.
- Po kliknięciu przycisku menu Wyzwalanie zdarzeń możesz wywoływać różne zdarzenia użytkownika. Tutaj możesz uruchomić automatyczne wstrzymywanie/wznawianie aktywności fitness, uruchomić zdarzenia związane ze snem użytkownika oraz uruchomić uderzenia golfa, które użytkownik wykonuje na polu golfowym lub na polu do minigolfa.
- Zastępowanie wartości czujników po rozpoczęciu ćwiczenia w aplikacji zainstalowanej na emulatorze. Po wpisaniu nowych wartości dla różnych danych ćwiczenia wybierz Zastosuj, aby zsynchronizować te wartości z emulatorem. Przydaje się to do testowania, jak aplikacja radzi sobie z różnymi warunkami treningu i tendencjami fitnessowymi użytkowników.
Generowanie danych syntetycznych za pomocą emulatora
Aplikację możesz też uruchomić bez panelu czujników, a dane będą automatycznie generowane przez emulator.
Aby rozpocząć, wstrzymać i zatrzymać generowanie danych syntetycznych, użyj ustawień w aplikacji.
Pamiętaj też, że emulator generuje te same wartości danych dla każdego ćwiczenia.
Symulowanie zdarzeń
W emulatorze możesz symulować różne zdarzenia, np. AUTO_PAUSE_DETECTED
.
Aby wywołać te zdarzenia, możesz użyć tego polecenia:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Zdarzenia syntetyczne
Wydarzenie |
Klucz |
---|---|
Wykryto automatyczne wstrzymanie |
|
Wykryto automatyczne wznowienie |
|
Wykryto upadek |
|
Wykryto sen |
|
Wykryto zatrzymanie drzemki |
|
Wykryto uderzenie w golfa |
|
Aby wywołać zdarzenie automatycznego wstrzymania, możesz użyć tego polecenia:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
W przypadku zdarzeń uderzenia w golfa należy podać dodatkowe parametry typu zamachu golfisty, które zostały opisane poniżej:
Typ uderzenia w golfie |
Parametr |
---|---|
Typ uderzenia w putt |
putt |
Typ częściowego bujania |
częściowe |
Typ pełnego wahadła |
pełna |
Po określeniu zdarzenia uderzenia w golfa dodaj typ zamachu:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Na przykład to polecenie powoduje częściowy strzał w golfa:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Korzystanie z danych syntetycznych na Wear OS 3
Jeśli testujesz aplikację na emulatorze z Wear OS 3, możesz też użyć danych syntetycznych.
Włączanie generowania danych syntetycznych
Aby włączyć generowanie danych syntetycznych na Wear OS 3, wykonaj te czynności.
- Włącz opcje dla programistów.
Aby włączyć tryb syntetyczny, uruchom to polecenie
adb
:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Po włączeniu generowania danych syntetycznych wydawaj polecenia opisane na tej stronie, aby kontrolować zachowanie „użytkownika syntetycznego”.
Wyłączanie generowania danych syntetycznych
Aby wrócić do korzystania z rzeczywistych czujników, uruchom to polecenie:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Ćwiczenia syntetyczne
Usługi zdrowotne obsługują te typy ćwiczeń:
- Pieszo:
whs.synthetic.user.START_WALKING
- W toku:
whs.synthetic.user.START_RUNNING
- Wędrówki:
whs.synthetic.user.START_HIKING
- Pływanie:
whs.synthetic.user.START_SWIMMING
- Bieganie na bieżni:
whs.synthetic.user.START_RUNNING_TREADMILL
Ćwiczenia generują realistyczne dane syntetyczne dla tych typów danych:
- Tętno
- Liczba kroków na minutę
- lokalizacja GPS, korzystając z jednej domyślnej trasy;
- Czas trwania aktywności
- Wysokość i piętra
Dodatkowo można generować te stany:
- stan snu – sen lub czuwanie;
- Wykrywanie upadku
Rozpocznij
Aby rozpocząć symulowanie ćwiczenia, wyślij odpowiednią transmisję do 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
Każda aktywność ma wstępnie ustawione obsługiwane dane:
Aktywność | Tętno | Średnia szybkość | Zmiana wysokości | Włącz lokalizację |
---|---|---|---|---|
Spacer | 120 uderzeń na minutę | 1,4 m/s | 20,0 m/min | prawda |
Uruchomiono | 170 uderzeń na minutę | 2,3 m/s | 20,0 m/min | prawda |
Turystyka piesza | 150 uderzeń na minutę | 1,3 m/s | 20,0 m/min | prawda |
Pływanie | 150 uderzeń na minutę | 1,6 m/s | 0,0 m/min | prawda |
Bieganie na bieżni | 160 uderzeń na minutę | 2,3 m/s | 20,0 m/min | fałsz |
Zatrzymaj
Aby zatrzymać aktywność syntetyczną, użyj tego polecenia:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Możliwość
Aby mieć większą kontrolę nad generowanymi danymi, uruchom niestandardową aktywność ćwiczenia za pomocą ciągu działania whs.synthetic.user.START_EXERCISE
.
Podaj dowolną kombinację tych flag:
--ei exercise_options_duration_secs <int>
: czas trwania ćwiczenia w sekundach. Domyślnie:0
.--ei exercise_options_heart_rate <int>
: tętno w uderzeniach na minutę. Średnia:70
.--ef exercise_options_average_speed <float>
: średnia prędkość w metrach na sekundę. Ma też wpływ na kroki na minutę, czyli rytm. Domyślnie:0
.--ez exercise_options_use_location <boolean>
: czy podczas ćwiczenia mają być emitowane dane o lokalizacji, korzystając z trasy domyślnej. Domyślnie:false
.--ef exercise_options_max_elevation_rate <float>
: maksymalna możliwa szybkość zmiany wysokości w metrach na minutę. Domyślnie:0
.
Na przykład możesz ustawić opcje ćwiczenia w ten sposób:
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
Możesz też zmienić dostępne typy danych, niezależnie od tego, czy rzeczywisty czy emulowany sprzęt obsługuje dany typ danych. Możesz na przykład włączyć lub wyłączyć bezwzględną wysokość, jak pokazano w tym fragmencie kodu:
# 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
Inne stany i zdarzenia
Stan uśpienia
Możesz też wywołać stany uśpienia dla użytkownika syntetycznego. Obsługiwane są 2 stany: uśpienia i budzenia.
Aby przejść do stanu uśpienia, uruchom to polecenie:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Aby przejść do stanu aktywnego, uruchom to polecenie:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Wykrywanie upadku
Aby symulować upadek, uruchom to polecenie:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Przesłanie zdarzenia o upadku może potrwać do minuty.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy obsługa JavaScript jest wyłączona
- SourceType
- ArithmeticExpression
- ListConfiguration