Utilizza i dati sintetici generati da Health Services su Wear OS per testare la tua app come se un esercizio fosse in corso.
Se esegui il test su un emulatore con Wear OS 3 (livello API 30) o versioni successive, puoi utilizzare i dati sintetici generati dall'emulatore. Consulta la seguente guida per scoprire di più sulle differenze tra la generazione di dati sintetici per Wear OS 3 e versioni successive.
Utilizzare i dati sintetici su Wear OS 4 e versioni successive
Se esegui il test su un emulatore con Wear OS 4 (livello API 33) o versioni successive, puoi utilizzare i dati sintetici generati dall'emulatore per testare la tua app. In questo modo, vengono introdotti una serie di miglioramenti rispetto alla generazione dei dati sintetici sulle versioni precedenti di Wear OS:
La generazione di dati sintetici su Wear OS 4 e versioni successive è integrata con il ciclo di vita dell'API Health Services. Ciò significa che non sono necessari comandi adb per avviare o interrompere l'esercizio. In alternativa, puoi avviare o interrompere l'esercizio nell'app come farebbe un utente.
Supporto ampliato per gli eventi di allenamento: puoi simulare la ricezione di eventi di pausa automatica e ripresa, eventi di caduta, rilevamento del sonno, e rilevamento dei colpi di golf.
Utilizzare il riquadro Sensore servizi sanitari
Il Feature Drop di Android Studio Koala (Canary) include un riquadro del sensore per i servizi sanitari su Wear OS. Il riquadro può essere utilizzato per simulare un dispositivo con o senza funzionalità di sensori specifici, che è importante da testare quando si creano app per il fitness su Wear OS.
Puoi anche utilizzare il riquadro per modificare i valori delle metriche e osservare come si adegua la tua app.
Per aprire e utilizzare il riquadro:
- Crea o apri un dispositivo virtuale Android (AVD) e esegui l'app sull'emulatore.
- Nel riquadro dell'emulatore, seleziona Wear Health Services. Si apre il riquadro Wear Health Services, che mostra un elenco di sensori disponibili su diversi dispositivi Android.
Dopo aver aperto il riquadro, puoi:
- Passa da Funzionalità standard a Tutte le funzionalità (impostazione predefinita) per scegliere l'insieme di funzionalità attivate durante l'esercizio successivo. Puoi attivare o disattivare le singole funzionalità selezionando le caselle di controllo. Seleziona Applica per inviare l'elenco corrente delle funzionalità al dispositivo emulato e seleziona Reimposta per ripristinare i valori di attivazione/disattivazione predefiniti dell'elenco delle funzionalità.
- Attiva diversi eventi utente dopo aver selezionato il pulsante a discesa Attiva eventi. Da qui puoi attivare la messa in pausa/la ripresa automatica delle attività fisiche, attivare gli eventi di sospensione dell'utente e attivare i colpi di golf che l'utente effettua su un campo da golf o da minigolf.
- Sostituisci i valori dei sensori dopo aver iniziato un esercizio in un'app installata sull'emulatore. Dopo aver inserito nuovi valori per diverse metriche dell'allenamento, selezionare Applica per sincronizzarli con l'emulatore. Questo è utile per verificare il modo in cui la tua app gestisce diverse condizioni di allenamento e le tendenze di fitness degli utenti.
Generare dati sintetici con l'emulatore
Puoi anche eseguire l'app senza il riquadro del sensore e consentire all'emulatore di generare automaticamente i dati.
Utilizza i controlli in-app per avviare, mettere in pausa e terminare la generazione di dati sintetici.
Tieni inoltre presente che l'emulatore genera gli stessi valori di dati per ogni esercizio.
Simulare eventi
Puoi simulare vari eventi nell'emulatore, ad esempio AUTO_PAUSE_DETECTED
.
Per attivare questi eventi, puoi utilizzare il seguente comando:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Eventi sintetici
Evento |
Chiave |
---|---|
Pausa automatica rilevata |
|
Ripresa automatica rilevata |
|
Caduta rilevata |
|
Sonno rilevato |
|
Sospensione rilevata |
|
Golf Shot Detected |
|
Ad esempio, puoi utilizzare il seguente comando per attivare un evento di messa in pausa automatica:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Per gli eventi relativi ai colpi di golf, devi specificare parametri aggiuntivi per il tipo di swing del colpo di golf, che sono descritti di seguito:
Tipo di swing del colpo di golf |
Parametro |
---|---|
Tipo di colpo di approccio |
putt |
Tipo di apertura parziale |
parziale |
Tipo di altalena completa |
massima |
Aggiungi il tipo di colpo di golf dopo aver specificato l'evento relativo al colpo di golf:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Ad esempio, il seguente comando attiva un colpo di golf parziale:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Utilizzare i dati sintetici su Wear OS 3
Se esegui il test su un emulatore con Wear OS 3, puoi anche utilizzare dati sintetici per testare la tua app.
Attivare la generazione di dati sintetici
Completa i seguenti passaggi per attivare la generazione di dati sintetici su Wear OS 3.
- Attiva le opzioni sviluppatore.
Esegui il seguente comando
adb
per attivare la modalità sintetica:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Una volta attivata la generazione di dati sintetici, esegui i comandi descritti in questa pagina per controllare il comportamento dell'utente sintetico.
Disattivare la generazione di dati sintetici
Per tornare a utilizzare i sensori reali, esegui il seguente comando:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Esercizi sintetici
I servizi per la salute supportano i seguenti tipi di esercizio:
- A piedi:
whs.synthetic.user.START_WALKING
- In esecuzione:
whs.synthetic.user.START_RUNNING
- Escursionismo:
whs.synthetic.user.START_HIKING
- Nuoto:
whs.synthetic.user.START_SWIMMING
- Corsa su tapis roulant:
whs.synthetic.user.START_RUNNING_TREADMILL
Gli esercizi generano dati sintetici realistici per i seguenti tipi di dati:
- Frequenza cardiaca
- Contapassi al minuto
- Posizione GPS, utilizzando un unico percorso predefinito
- Durata dell'attività
- Altezza e piani
Inoltre, è possibile generare i seguenti stati:
- Stato del sonno: addormentato o sveglio
- Rilevamento cadute
Inizia
Per iniziare a simulare un esercizio, emetti la trasmissione appropriata a
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
Ogni attività ha preset per le metriche supportate:
Attività | Frequenza cardiaca | Velocità media | Variazione di altitudine | Usa posizione |
---|---|---|---|---|
Passeggiate | 120 b/m | 1,4 m/sec | 20,0 m/min | vero |
In funzione | 170 bpm | 2,3 m/sec | 20,0 m/min | vero |
Escursionismo | 150 b/m | 1,3 m/sec | 20,0 m/min | vero |
Nuoto | 150 b/m | 1,6 m/sec | 0,0 m/min | vero |
Corsa sul tapis roulant | 160 bpm | 2,3 m/sec | 20,0 m/min | falso |
Interrompi
Per interrompere l'attività sintetica, utilizza il seguente comando:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Personalizzata
Per un controllo più preciso sulle metriche generate, avvia un'attività di esercizio personalizzata utilizzando la stringa di azione whs.synthetic.user.START_EXERCISE
.
Fornisci una combinazione qualsiasi dei seguenti flag:
--ei exercise_options_duration_secs <int>
: durata dell'esercizio in secondi. Valore predefinito:0
.--ei exercise_options_heart_rate <int>
: battito cardiaco in battiti al minuto. Media:70
.--ef exercise_options_average_speed <float>
: velocità media in metri al secondo. Influisce anche sui passi al minuto o sulla cadenza. Valore predefinito:0
.--ez exercise_options_use_location <boolean>
: indica se emettere dati sulla posizione durante l'esercizio utilizzando un percorso predefinito. Valore predefinito:false
.--ef exercise_options_max_elevation_rate <float>
: tasso massimo di variazione dell'elevazione in metri al minuto. Valore predefinito:0
.
Ad esempio, imposta le opzioni dell'esercizio nel seguente modo:
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
Puoi anche modificare i tipi di dati disponibili, a seconda che l'hardware reale o virtuale supporti o meno un determinato tipo di dati. Ad esempio, puoi attivare o disattivare l'elevazione assoluta, come mostrato nello snippet seguente:
# 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
Altri stati ed eventi
Stato di sospensione
Puoi anche attivare stati di sospensione per l'utente sintetico. Sono supportati due stati: addormentato e sveglio.
Per passare allo stato di sospensione, esegui questo comando:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Per entrare nello stato attivo, esegui questo comando:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Rilevamento cadute
Per simulare una caduta, esegui questo comando:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Potrebbero essere necessari fino a un minuto prima che i servizi sanitari inviino l'evento caduta.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- SourceType
- ArithmeticExpression
- ListConfiguration