Mô phỏng dữ liệu cảm biến bằng Dịch vụ sức khoẻ

Sử dụng dữ liệu tổng hợp được tạo từ Dịch vụ sức khoẻ trên Wear OS để kiểm thử ứng dụng của bạn một bài tập thực sự đang diễn ra.

Nếu đang kiểm thử trên một trình mô phỏng chạy Wear OS 3 (API cấp 30) trở lên, bạn có thể dùng dữ liệu tổng hợp do trình mô phỏng tạo. Hãy tham khảo những nội dung sau để tìm hiểu thêm về sự khác biệt giữa cách tạo dữ liệu tổng hợp cho Wear OS 3 trở lên.

Sử dụng dữ liệu tổng hợp trên Wear OS 4 trở lên

Nếu đang kiểm thử trên một trình mô phỏng chạy Wear OS 4 (API cấp 33) trở lên, bạn có thể sử dụng dữ liệu tổng hợp do trình mô phỏng tạo để kiểm thử ứng dụng của bạn. Chiến dịch này đưa ra một số điểm cải tiến đối với cách tạo dữ liệu tổng hợp các phiên bản Wear OS cũ hơn:

Sử dụng Bảng cảm biến cho Dịch vụ sức khoẻ

Bản cập nhật tính năng Koala trong Android Studio (Canary) bao gồm Dịch vụ sức khoẻ trên bảng điều khiển cảm biến Wear OS. Bảng này có thể được dùng để mô phỏng có hay không có các chức năng cảm biến cụ thể. Đây là điều quan trọng để kiểm thử khi tạo ứng dụng thể dục trên Wear OS.

Bạn cũng có thể sử dụng bảng này để thay đổi giá trị của các chỉ số và quan sát cách ứng dụng điều chỉnh.

Để mở và sử dụng bảng điều khiển, hãy làm như sau:

  1. Tạo hoặc mở một Thiết bị Android ảo (AVD)chạy ứng dụng trên trình mô phỏng.
  2. Trong bảng điều khiển của trình mô phỏng, hãy chọn Wear Health Services (Dịch vụ sức khoẻ trên Wear). Mở bảng điều khiển Dịch vụ sức khoẻ trên Wear Bảng điều khiển Dịch vụ sức khoẻ trên Wear sẽ mở ra, hiển thị danh sách các cảm biến có sẵn trên Thiết bị hỗ trợ Android.

Sau khi bảng điều khiển mở ra, bạn có thể thực hiện các thao tác sau:

  • Chuyển đổi giữa Các chức năng tiêu chuẩn, Tất cả chức năng (mặc định) hoặc Tuỳ chỉnh. Chọn Áp dụng để gửi danh sách chức năng hiện tại của thiết bị được mô phỏng rồi chọn Đặt lại để khôi phục danh sách chức năng về giá trị bật tắt mặc định.
  • Kích hoạt các sự kiện người dùng khác nhau sau khi bạn chọn Sự kiện kích hoạt nút thả xuống. Tại đây, bạn có thể Kích hoạt tính năng tự động tạm dừng/tiếp tục hoạt động tập thể dục hoạt động, Kích hoạt sự kiện ngủ của người dùng và Kích hoạt cú đánh gôn mà người dùng chọn trên sân gôn hoặc sân gôn nhỏ.
  • Ghi đè giá trị cảm biến sau khi bạn bắt đầu bài tập thể dục trong một ứng dụng đã cài đặt trên trình mô phỏng. Sau khi bạn nhập giá trị mới cho các chỉ số tập thể dục khác nhau, chọn Apply (Áp dụng) để đồng bộ hoá các giá trị này với trình mô phỏng. Thông tin này hữu ích cho kiểm thử cách ứng dụng của bạn xử lý nhiều điều kiện tập thể dục và thể dục các xu hướng.

Tạo dữ liệu tổng hợp bằng trình mô phỏng

Bạn cũng có thể chạy ứng dụng mà không cần bảng điều khiển cảm biến và có dữ liệu do trình mô phỏng tạo tự động.

Sử dụng các chế độ kiểm soát trong ứng dụng để bắt đầu, tạm dừng và kết thúc quá trình tạo dữ liệu tổng hợp.

Ngoài ra, xin lưu ý rằng trình mô phỏng tạo ra các giá trị dữ liệu giống nhau cho mỗi bài tập.

Mô phỏng sự kiện

Bạn có thể mô phỏng nhiều sự kiện trong trình mô phỏng như AUTO_PAUSE_DETECTED. Bạn có thể dùng lệnh sau để kích hoạt các sự kiện đó:

adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices

Sự kiện tổng hợp

Sự kiện

Khoá

Đã phát hiện chế độ tự động tạm dừng

whs.AUTO_PAUSE_DETECTED

Đã phát hiện thấy chế độ tự động tiếp tục

whs.AUTO_RESUME_DETECTED

Đã phát hiện tình trạng bị ngã

whs.FALL_OVER

Đã phát hiện giấc ngủ

whs.START_SLEEPING

Đã phát hiện chế độ Ngủ

whs.STOP_SLEEPING

Đã phát hiện cú đánh gôn

whs.GOLF_SHOT

Ví dụ: bạn có thể dùng lệnh sau để kích hoạt sự kiện tự động tạm dừng:

​​adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices

Đối với các sự kiện đánh gôn, bạn nên chỉ định các thông số bổ sung cho loại cú đánh gôn, được trình bày bên dưới:

Loại xích đánh gôn

Thông số

Loại gậy đẩy

gạt bóng

Loại xích đu

một phần

Loại xích đu đầy đủ

tối đa

Thêm kiểu đánh golf sau khi chỉ định sự kiện đánh golf:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \
  "golf-swing-type-parameter" com.google.android.wearable.healthservices

Ví dụ: lệnh sau đây kích hoạt một cú đánh gôn một phần:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \
  com.google.android.wearable.healthservices

Sử dụng dữ liệu tổng hợp trên Wear OS 3

Nếu đang kiểm thử trên một trình mô phỏng chạy Wear OS 3, bạn cũng có thể sử dụng công cụ tổng hợp để thử nghiệm ứng dụng của bạn.

Bật tính năng tạo dữ liệu tổng hợp

Hoàn tất các bước sau để bật tính năng tạo dữ liệu tổng hợp trên Wear OS 3.

  1. Bật tuỳ chọn cho nhà phát triển.
  2. Phát lệnh adb sau đây để bật chế độ tổng hợp:

    adb shell am broadcast \
    -a "whs.USE_SYNTHETIC_PROVIDERS" \
    com.google.android.wearable.healthservices
    

Sau khi bật tính năng tạo dữ liệu tổng hợp, hãy thực hiện các lệnh được mô tả trên để kiểm soát hành vi của "người dùng dữ liệu tổng hợp".

Tắt tính năng tạo dữ liệu tổng hợp

Để quay lại sử dụng các cảm biến thực, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

Bài tập tổng hợp

Dịch vụ sức khoẻ hỗ trợ các loại bài tập thể dục sau:

  • Đi bộ: whs.synthetic.user.START_WALKING
  • Chạy: whs.synthetic.user.START_RUNNING
  • Đi bộ đường dài: whs.synthetic.user.START_HIKING
  • Bơi: whs.synthetic.user.START_SWIMMING
  • Chạy trên máy chạy bộ: whs.synthetic.user.START_RUNNING_TREADMILL

Bài tập sẽ tạo dữ liệu tổng hợp thực tế cho các loại dữ liệu sau:

  • Nhịp tim
  • Số bước/phút
  • Vị trí GPS sử dụng một tuyến đường mặc định
  • Thời lượng của hoạt động
  • Độ cao và số tầng

Ngoài ra, các trạng thái sau cũng được tạo:

  • Trạng thái ngủ – ngủ hoặc thức
  • Phát hiện tình trạng bị ngã

Bắt đầu

Để bắt đầu mô phỏng một bài tập thể dục, hãy phát đi thông báo thích hợp cho 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

Mỗi hoạt động đều có các giá trị đặt trước cho các chỉ số được hỗ trợ:

Hoạt động Nhịp tim Tốc độ trung bình Thay đổi độ cao Dùng thông tin vị trí
Đi bộ 120 bpm 1.4 m/giây 20.0 m/phút đúng
Đang chạy 170 bpm 2.3 m/giây 20.0 m/phút đúng
Đi bộ đường dài 150 bpm 1.3 m/giây 20.0 m/phút đúng
Bơi 150 bpm 1.6 m/giây 0.0 m/phút đúng
Chạy trên máy chạy bộ 160 nhịp/phút 2.3 m/giây 20.0 m/phút false (sai)

Dừng

Để dừng hoạt động tổng hợp dữ liệu, hãy sử dụng lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

Tuỳ chỉnh

Để kiểm soát chính xác hơn những chỉ số được tạo, hãy bắt đầu một hoạt động tuỳ chỉnh về bài tập thể dục bằng chuỗi hành động whs.synthetic.user.START_EXERCISE. Cung cấp bất kỳ tổ hợp cờ nào sau đây:

  • --ei exercise_options_duration_secs <int>: thời lượng của bài tập tính bằng giây. Mặc định: 0.
  • --ei exercise_options_heart_rate <int>: nhịp tim tính theo số nhịp/phút. Trung bình: 70.
  • --ef exercise_options_average_speed <float>: tốc độ trung bình tính theo mét/giây. Đồng thời, cũng ảnh hưởng đến số bước/phút hoặc tần suất. Mặc định: 0.
  • --ez exercise_options_use_location <boolean>: có phát đi dữ liệu vị trí trong quá trình tập thể dục hay không thông qua tuyến đường mặc định. Mặc định: false.
  • --ef exercise_options_max_elevation_rate <float>: tốc độ thay đổi độ cao tối đa có thể tính bằng mét/phút. Mặc định: 0.

Ví dụ: đặt các tuỳ chọn bài tập thể dục theo cách sau:

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

Bạn cũng có thể thay đổi loại dữ liệu có sẵn, cho dù phần cứng thực hay phần cứng mô phỏng có hỗ trợ một loại dữ liệu cụ thể hay không. Ví dụ: bạn có thể bật hoặc tắt độ cao tuyệt đối, như minh hoạ trong đoạn mã sau:

# 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

Các trạng thái và sự kiện khác

Trạng thái ngủ

Bạn cũng có thể kích hoạt trạng thái ngủ cho người dùng dữ liệu tổng hợp. 2 trạng thái được hỗ trợ là ngủ và thức.

Để chuyển sang trạng thái ngủ, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

Để chuyển sang trạng thái thức, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices

Phát hiện tình trạng bị ngã

Để mô phỏng tình trạng bị ngã, hãy chạy lệnh sau:

adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices

Có thể mất đến một phút để dịch vụ sức khoẻ thực hiện sự kiện ngã.