Używaj danych syntetycznych generowanych przez usługi zdrowotne na Wear OS, aby testować aplikację tak, jakby ćwiczenie było wykonywane w rzeczywistości.
Jeśli testujesz na emulatorze z Wear OS 3 (API na poziomie 30) lub nowszym, możesz używać danych syntetycznych generowanych przez emulator. Więcej informacji o różnicach między generowaniem danych syntetycznych na potrzeby Wear OS 3 i nowszych wersji znajdziesz w tym przewodniku.
Korzystanie z danych syntetycznych na zegarkach z Wear OS 4 i nowszymi
Jeśli testujesz na emulatorze z Wear OS 4 (API na poziomie 33) lub nowszym, możesz używać danych syntetycznych generowanych przez emulator do testowania aplikacji. Wprowadza to szereg ulepszeń w stosunku do sposobu generowania danych syntetycznych w starszych wersjach Wear OS:
Generowanie danych syntetycznych na urządzeniach z Wear OS 4 i nowszym jest zintegrowane z cyklem życia interfejsu Health Services API. Oznacza to, że nie trzeba używać poleceń adb, aby rozpocząć lub zatrzymać ćwiczenie. Zamiast tego możesz rozpocząć lub zakończyć ćwiczenie w aplikacji tak jak użytkownik.
Rozszerzona obsługa zdarzeń związanych z ćwiczeniami: możesz symulować otrzymywanie zdarzeń automatycznego wstrzymania i wznawiania, zdarzeń upadku, wykrywania snu i wykrywania uderzeń w golfa.
Korzystanie z panelu czujników usług zdrowotnych
Pakiet nowych funkcji Android Studio Koala (Canary) zawiera panel czujników Usług zdrowotnych na Wear OS. Panelu można używać do symulowania urządzenia z określonymi możliwościami czujnika lub bez nich, co jest ważne podczas testowania aplikacji fitness na Wear OS.
Możesz też użyć tego panelu, aby zmieniać wartości danych i obserwować, jak dostosowuje się aplikacja.
Aby otworzyć panel i z niego korzystać, wykonaj te czynności:
- Utwórz lub otwórz wirtualne urządzenie z Androidem (AVD) i uruchom aplikację w emulatorze.
- W panelu emulatora kliknij Wear Health Services (Usługi zdrowotne Wear).
Otworzy się panel Usługi zdrowotne Wear z listą czujników dostępnych na różnych urządzeniach z Androidem.
Po otwarciu panelu możesz:
- Przełączaj między opcjami Standardowe funkcje i Wszystkie funkcje (domyślnie), aby wybrać zestaw funkcji, które będą włączone podczas następnego ćwiczenia. Możesz włączyć lub wyłączyć poszczególne funkcje, zaznaczając odpowiednie pola wyboru. Kliknij Zastosuj, aby wysłać bieżącą listę funkcji do emulowanego urządzenia, a następnie kliknij Resetuj, aby przywrócić domyślne wartości włączenia i wyłączenia funkcji.
- Po kliknięciu przycisku menu Wywołaj zdarzenia wywołaj różne zdarzenia użytkownika. Możesz automatycznie wstrzymywać i wznawiać aktywności fitness, wywoływać zdarzenia związane ze snem i wywoływać uderzenia piłki golfowej, które użytkownik wykonuje na polu golfowym lub polu do minigolfa.
- Zastąp wartości czujników po rozpoczęciu ćwiczenia w aplikacji zainstalowanej na emulatorze. Po wpisaniu nowych wartości różnych danych dotyczących ćwiczeń wybierz Zastosuj, aby zsynchronizować te wartości z emulatorem. Przydaje się to do testowania, jak aplikacja radzi sobie w różnych warunkach ćwiczeń i jak reaguje na tendencje użytkowników do aktywności fizycznej.
Generowanie danych syntetycznych za pomocą emulatora
Możesz też uruchomić aplikację bez panelu czujników i sprawić, że dane będą generowane automatycznie przez emulator.
Za pomocą elementów sterujących w aplikacji możesz rozpocząć, wstrzymać i zakończyć generowanie danych syntetycznych.
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 wznawianie |
|
Wykryto upadek |
|
Wykryto sen |
|
Wykryto zatrzymanie z powodu snu |
|
Wykryto uderzenie piłki golfowej |
|
Aby na przykład 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ń związanych z uderzeniami w golfie należy określić dodatkowe parametry rodzaju uderzenia w golfie, które są wymienione w tej tabeli:
Rodzaj uderzenia w golfa |
Parametr |
---|---|
Rodzaj swingu |
putt |
Typ części swingu |
częściowy |
Swing Full Type |
pełna |
Po określeniu zdarzenia uderzenia piłki golfowej 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 wywołuje częściowy strzał golfowy:
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 zegarku z Wear OS 3, wykonaj te czynności:
- Włącz opcje programisty.
Aby włączyć tryb syntetyczny, wydaj 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 „syntetycznego użytkownika”.
Wyłączanie generowania danych syntetycznych
Aby wrócić do korzystania z prawdziwych czujników, uruchom to polecenie:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Ćwiczenia syntetyczne
Usługi związane ze zdrowiem obsługują te typy ćwiczeń:
- Pieszo:
whs.synthetic.user.START_WALKING
- Bieganie:
whs.synthetic.user.START_RUNNING
- Turystyka piesza:
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 z użyciem jednej domyślnej trasy
- Czas trwania aktywności
- Wysokość i piętra
Dodatkowo mogą wystąpić te stany:
- Stan snu – śpi lub nie śpi
- Wykrywanie upadku
Rozpocznij
Aby rozpocząć symulację ćwiczenia, wyślij odpowiednią transmisję do urządzenia 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 gotowe ustawienia obsługiwanych danych:
Aktywność | Tętno | Średnia prędkość | Zmiana wysokości | Włącz lokalizację |
---|---|---|---|---|
Chodzenie | 120 uderzeń na minutę | 1,4 m/s | 20,0 m/min | true |
Uruchomiono | 170 uderz./min | 2,3 m/s | 20,0 m/min | true |
Piesza wędrówka | 150 uderzeń na minutę | 1,3 m/s | 20,0 m/min | true |
Pływanie | 150 uderzeń na minutę | 1,6 m/s | 0,0 m/min | true |
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, rozpocznij niestandardową aktywność związaną z ćwiczeniami, używając 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 kadencję. Domyślnie:0
.--ez exercise_options_use_location <boolean>
: czy podczas ćwiczenia mają być emitowane dane o lokalizacji przy użyciu domyślnej trasy. 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 ustaw opcje ćwiczeń 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 lub emulowany sprzęt obsługuje dany typ danych. Możesz na przykład włączyć lub wyłączyć wysokość bezwzględną, 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 snu
Możesz też wywoływać stany uśpienia dla syntetycznego użytkownika. Obsługiwane są 2 stany: uśpiony i aktywny.
Aby przejść w stan uśpienia, uruchom to polecenie:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Aby przejść w stan aktywności, uruchom to polecenie:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Wykrywanie upadku
Aby przeprowadzić symulację upadku, uruchom to polecenie:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Dostarczenie zdarzenia upadku przez usługi zdrowotne może potrwać do minuty.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy JavaScript jest wyłączony.
- SourceType
- ArithmeticExpression
- ListConfiguration