Utilizza dati sintetici generati da Servizi sanitari su Wear OS per testare la tua app come se un allenamento 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 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. Ciò introduce una serie di miglioramenti rispetto alla modalità di generazione dei dati sintetici nelle versioni precedenti di Wear OS:
La generazione di dati sintetici su Wear OS 4 e versioni successive è integrata nel ciclo di vita dell'API Health Services. Ciò significa che non è necessario utilizzare i comandi adb per iniziare o interrompere l'esercizio. In alternativa, puoi avviare o interrompere l'allenamento nell'app come farebbe un utente.
Supporto esteso per gli eventi di allenamento: puoi simulare la ricezione di eventi di pausa automatica e ripresa, eventi di caduta, rilevamento del sonno e rilevamento del colpo di golf.
Utilizzare il pannello dei sensori dei servizi sanitari
Android Studio Koala Feature Drop (Canary) include un pannello dei sensori di Servizi per la salute su Wear OS. Il pannello può essere utilizzato per simulare un dispositivo con o senza funzionalità di sensore specifiche, il che è importante per i test durante la creazione di app per il fitness su Wear OS.
Puoi anche utilizzare il riquadro per modificare i valori delle metriche e osservare come si adatta la tua app.
Per aprire e utilizzare il riquadro:
- Crea o apri un Android Virtual Device (AVD) e esegui l'app sull'emulatore.
- Nel pannello dell'emulatore, seleziona Wear Health Services.
Si apre il pannello Wear Health Services, che mostra un elenco di sensori disponibili su diversi dispositivi Android.
Dopo aver aperto il riquadro, puoi:
- Alterna Funzionalità standard e Tutte le funzionalità (impostazione predefinita) per scegliere il set 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 eventi utente diversi dopo aver selezionato il pulsante a discesa Attiva eventi. Da qui, puoi attivare la pausa/la ripresa automatica delle attività di fitness, attivare gli eventi di sonno da parte dell'utente e attivare i colpi di golf che l'utente esegue su un campo da golf o un campo da minigolf.
- Esegui l'override dei valori dei sensori dopo aver iniziato un allenamento in un'app installata sull'emulatore. Dopo aver inserito nuovi valori per diverse metriche di allenamento, seleziona Applica per sincronizzare questi valori con l'emulatore. Questo è utile per testare 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 pannello dei sensori e fare in modo che i dati vengano generati automaticamente dall'emulatore.
Utilizza i controlli in-app per avviare, mettere in pausa e terminare la generazione di dati sintetici.
Tieni presente inoltre 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 |
|
Sleep-Stop Detected |
|
Tiro da golf rilevato |
|
Ad esempio, puoi utilizzare il seguente comando per attivare un evento di pausa automatica:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Per gli eventi di colpo di golf, devi specificare parametri aggiuntivi per il tipo di swing del colpo di golf, che sono descritti nella tabella seguente:
Tipo di swing del tiro di golf |
Parametro |
---|---|
Tipo di swing putt |
putt |
Tipo di swing parziale |
parziale |
Swing Full Type |
massima |
Aggiungi il tipo di swing del tiro da golf dopo aver specificato l'evento del tiro da 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 tiro di golf parziale:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Utilizzare dati sintetici su Wear OS 3
Se esegui test su un emulatore con Wear OS 3, puoi anche utilizzare dati sintetici per testare la tua app.
Attiva 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, emetti i comandi descritti in questa pagina per controllare il comportamento dell'"utente sintetico".
Disattivare la generazione di dati sintetici
Per tornare a utilizzare sensori reali, esegui il comando seguente:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Esercizi sintetici
Health Services supporta i seguenti tipi di allenamento:
- A piedi:
whs.synthetic.user.START_WALKING
- Corsa:
whs.synthetic.user.START_RUNNING
- Escursionismo:
whs.synthetic.user.START_HIKING
- Nuoto:
whs.synthetic.user.START_SWIMMING
- Corsa sul tapis roulant:
whs.synthetic.user.START_RUNNING_TREADMILL
Gli esercizi generano dati sintetici realistici per i seguenti tipi di dati:
- Frequenza cardiaca
- Numero di passi al minuto
- Posizione GPS, utilizzando un unico percorso predefinito
- Durata dell'attività
- Elevazione e piani
Inoltre, è possibile generare i seguenti stati:
- Stato del sonno: addormentato o sveglio
- Rilevamento cadute
Inizia
Per iniziare a simulare un allenamento, invia 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 valori preimpostati per le metriche supportate:
Attività | Frequenza cardiaca | Velocità media | Variazione di elevazione | Usa posizione |
---|---|---|---|---|
Stavo camminando | 120 b/m | 1,4 m/sec | 20,0 m/min | true |
In funzione | 170 bpm | 2,3 m/sec | 20,0 m/min | true |
Escursionismo | 150 b/m | 1,3 m/sec | 20,0 m/min | true |
Nuoto | 150 b/m | 1,6 m/sec | 0,0 m/min | true |
Corsa sul tapis roulant | 160 b/m | 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 delle metriche generate, avvia un'attività di allenamento personalizzata utilizzando la stringa di azione whs.synthetic.user.START_EXERCISE
.
Fornisci una qualsiasi combinazione dei seguenti flag:
--ei exercise_options_duration_secs <int>
: durata dell'esercizio in secondi. 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. Predefinito:0
.--ez exercise_options_use_location <boolean>
: indica se emettere dati sulla posizione durante l'allenamento, utilizzando un percorso predefinito. Predefinito:false
.--ef exercise_options_max_elevation_rate <float>
: il tasso di variazione di elevazione massimo possibile in metri al minuto. Predefinito:0
.
Ad esempio, imposta le opzioni di allenamento 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 emulato supporti un particolare 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 del sonno
Puoi anche attivare gli stati di sospensione per l'utente sintetico. Sono supportati due stati: sonno e veglia.
Per attivare lo 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 di riattivazione, 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
Potrebbe essere necessario fino a un minuto prima che i servizi sanitari inviino l'evento di caduta.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- SourceType
- ArithmeticExpression
- ListConfiguration