Hướng dẫn này tương thích với Health Connect phiên bản 1.1.0-alpha12.
Có thay đổi đối với siêu dữ liệu trong Health Connect dành cho những nhà phát triển chọn nâng cấp lên bản phát hành 1.1.0-alpha12.
Thông tin về thư viện
Mã nhận dạng cấu phần phần mềm của trình bổ trợ gradle Android cho Google Maven xác định thư viện Health Connect mà bạn cần nâng cấp.
Thêm phần phụ thuộc SDK Health Connect này vào tệp build.gradle
ở cấp mô-đun:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
Thay đổi về siêu dữ liệu
Chúng tôi đã giới thiệu hai thay đổi về siêu dữ liệu cho SDK Health Connect Jetpack kể từ phiên bản 1.1.0-alpha12 để đảm bảo rằng siêu dữ liệu hữu ích bổ sung có trong hệ sinh thái.
Bạn bắt buộc phải chỉ định thông tin chi tiết về siêu dữ liệu bất cứ khi nào tạo thực thể cho đối tượng loại Record()
.
Bạn phải chỉ định một trong 4 phương thức ghi khi ghi dữ liệu vào Health Connect:
Phương thức ghi | Mô tả |
---|---|
RECORDING_METHOD_UNKNOWN |
Không xác minh được phương thức ghi âm. |
RECORDING_METHOD_MANUAL_ENTRY |
Người dùng đã nhập dữ liệu. |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
Một thiết bị hoặc cảm biến đã ghi lại dữ liệu. |
RECORDING_METHOD_ACTIVELY_RECORDED |
Người dùng đã bắt đầu hoặc kết thúc phiên ghi trên một thiết bị. |
Ví dụ:
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
Bạn bắt buộc phải chỉ định loại thiết bị cho tất cả dữ liệu được ghi lại tự động và chủ động. Các loại thiết bị hiện tại bao gồm:
Loại thiết bị | Mô tả |
---|---|
TYPE_UNKNOWN |
Không xác định được loại thiết bị. |
TYPE_WATCH |
Loại thiết bị là đồng hồ. |
TYPE_PHONE |
Loại thiết bị là điện thoại. |
TYPE_SCALE |
Loại thiết bị là cân. |
TYPE_RING |
Loại thiết bị là vòng đeo. |
TYPE_HEAD_MOUNTED |
Loại thiết bị là thiết bị gắn trên đầu. |
TYPE_FITNESS_BAND |
Loại thiết bị là vòng đeo thể dục. |
TYPE_CHEST_STRAP |
Loại thiết bị là dây đeo ngực. |
TYPE_SMART_DISPLAY |
Loại thiết bị là màn hình thông minh. |
Ví dụ:
private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)
Đã cập nhật đoạn mã
Chúng tôi đã cập nhật hướng dẫn về Health Connect ở bất cứ nơi nào cần có đoạn mã mới để tuân thủ các yêu cầu mới về siêu dữ liệu. Để biết một số ví dụ, hãy tham khảo trang Ghi dữ liệu.
Các phương thức siêu dữ liệu mới
Bạn không thể tạo bản sao siêu dữ liệu trực tiếp được nữa, vì vậy, hãy sử dụng một trong các phương thức nhà máy để tạo bản sao siêu dữ liệu mới. Mỗi hàm có 3 biến thể chữ ký:
activelyRecorded
fun activelyRecorded(device: Device): Metadata.
fun activelyRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun activelyRecordedWithId(id: String, device: Device): Metadata
autoRecorded
fun autoRecorded(device: Device): Metadata
fun autoRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun autoRecordedWithId(id: String, device: Device): Metadata
manualEntry
fun manualEntry(device: Device? = null): Metadata
fun manualEntry(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun manualEntryWithId(id: String, device: Device? = null): Metadata
unknownRecordingMethod
fun unknownRecordingMethod(device: Device? = null): Metadata
fun unknownRecordingMethod(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun unknownRecordingMethodWithId(id: String, device: Device? = null): Metadata
Để biết thêm thông tin, hãy xem Dự án nguồn mở Android.
Dữ liệu kiểm thử
Sử dụng Thư viện kiểm thử để mô phỏng các giá trị siêu dữ liệu dự kiến:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
Thao tác này mô phỏng hành vi triển khai Health Connect, tự động điền các giá trị này trong quá trình chèn bản ghi.
Đối với thư viện kiểm thử, bạn cần thêm phần phụ thuộc SDK Health Connect này vào tệp build.gradle
ở cấp mô-đun:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
Nâng cấp thư viện
Các bước chính bạn cần thực hiện là:
Nâng cấp thư viện lên 1.1.0-alpha12.
Khi tạo thư viện, lỗi biên dịch sẽ được gửi khi cần siêu dữ liệu mới. Vì vậy, hãy nhớ triển khai các thay đổi siêu dữ liệu cần thiết bất cứ khi nào tạo bản sao đối tượng loại
Record()
. Thao tác này sẽ hoàn tất quá trình di chuyển.