API Lớp dữ liệu trên thiết bị đeo là một phần của Dịch vụ Google Play, cung cấp một kênh liên lạc giữa các thiết bị đeo (như đồng hồ thông minh) và các thiết bị cầm tay được kết nối (thường là điện thoại thông minh). Đây là một cách để đồng bộ hoá và chuyển dữ liệu giữa các thiết bị.
Lưu ý: API này chỉ có trên đồng hồ Wear OS và các thiết bị Android được ghép nối. Đối với đồng hồ Wear OS được ghép nối với điện thoại iOS, ứng dụng có thể truy vấn các API khác trên đám mây nếu có kết nối Internet. Để biết thêm thông tin về các API khác này, hãy truy cập vào bài viết Quyền truy cập mạng và đồng bộ hoá trên Wear OS.
Thận trọng: Vì các API lớp dữ liệu được thiết kế để giao tiếp giữa thiết bị cầm tay và thiết bị đeo, nên đây là những API duy nhất bạn có thể sử dụng để thiết lập hoạt động giao tiếp giữa các thiết bị này. Ví dụ: đừng cố mở ổ cắm cấp thấp để tạo kênh giao tiếp.
Các trường hợp sử dụng phổ biến
API Lớp dữ liệu đặc biệt hữu ích cho các trường hợp sử dụng về thể dục và nội dung nghe nhìn.
Ứng dụng thể dục
Gửi dữ liệu tập thể dục từ ứng dụng Wear OS đến ứng dụng di động Các ứng dụng thể dục thường cần ghi dữ liệu tập thể dục do đồng hồ ghi lại vào ứng dụng di động hoặc vào Health Connect. Nếu sử dụng API Lớp dữ liệu để chuyển dữ liệu, hãy sử dụng ứng dụng nhắn tin để gửi dữ liệu tập thể dục từ ứng dụng Wear OS đến ứng dụng di động nhằm ghi vào Health Connect.
Truyền trực tuyến dữ liệu trực tiếp đến thiết bị di động trong khi tập thể dục tại nhà
Tình huống tập thể dục tại nhà phổ biến là truyền trực tuyến dữ liệu nhịp tim từ thiết bị Wear OS sang thiết bị di động và hiển thị cho người dùng thông tin nhịp tim mới nhất trên màn hình thiết bị di động. Để truyền trực tuyến dữ liệu này, hãy sử dụng ứng dụng kênh.
Ứng dụng đa phương tiện
Để điều khiển trình phát nội dung nghe nhìn thông qua thao tác tạm dừng/tiếp tục/bắt đầu/kết thúc từ đồng hồ đến điện thoại, hãy sử dụng ứng dụng nhắn tin.
Các lựa chọn liên lạc
Dữ liệu được chuyển theo một trong các cách sau:
- Trực tiếp, khi đã có kết nối Bluetooth giữa thiết bị Wear OS và một thiết bị khác.
- Qua mạng có sẵn, chẳng hạn như LTE hoặc Wi-Fi, sử dụng một nút mạng trên máy chủ của Google làm trung gian.
Tất cả ứng dụng Lớp dữ liệu đều có thể trao đổi dữ liệu qua Bluetooth hoặc dùng đám mây, tuỳ thuộc vào loại kết nối có trên thiết bị. Giả sử tại một thời điểm nào đó, dữ liệu được truyền tại Lớp dữ liệu có thể sử dụng máy chủ do Google sở hữu.
Bluetooth
Khi các thiết bị được kết nối bằng Bluetooth, Lớp dữ liệu sẽ sử dụng loại kết nối này. Dịch vụ Google Play quản lý một kênh mã hoá (bằng phương thức mã hoá Bluetooth tiêu chuẩn) duy nhất giữa các thiết bị.
Đám mây
Dữ liệu sẽ tự động được định tuyến qua Google Cloud khi không có Bluetooth. Tất cả dữ liệu được chuyển thông qua Google Cloud đều được mã hoá hai đầu.
Bảo mật thông tin liên lạc
Dịch vụ Google Play thực thi các hạn chế sau đây để cung cấp khả năng giao tiếp an toàn hơn giữa ứng dụng được cài đặt trên thiết bị Wear OS và cùng một ứng dụng được cài đặt trên thiết bị cầm tay ở gần:
- Tên gói phải giống nhau trên các thiết bị.
- Chữ ký của gói phải giống nhau trên các thiết bị.
Không có ứng dụng nào khác có quyền truy cập vào dữ liệu, bất kể loại kết nối.
Thiết lập
API Lớp dữ liệu trên thiết bị đeo có các phần phụ thuộc sau:
- Phiên bản mới nhất của Dịch vụ Google Play.
- Thiết bị Wear OS hoặc trình mô phỏng Wear OS
Đưa phần phụ thuộc sau vào tệp build.gradle của mô-đun Wear:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:19.0.0")
}
Hỗ trợ quy trình ghép nối ban đầu
Horologist cung cấp một số thư viện trợ giúp dựa trên các API nền tảng. Thư viện này bao gồm một thư viện lớp dữ liệu giúp thiết lập kết nối giữa thiết bị di động và thiết bị Wear OS. Ngoài ra, thư viện này còn cung cấp các API tiện lợi để làm những việc sau:
- Cài đặt ứng dụng trên thiết bị khác.
- Chạy ứng dụng trên thiết bị khác.
- Chạy một hoạt động cụ thể trên thiết bị khác.
- Chạy ứng dụng đồng hành.
Truy cập vào lớp dữ liệu
Để gọi API Lớp dữ liệu, hãy sử dụng lớp Wearable
để nhận các phiên bản của nhiều lớp ứng dụng, chẳng hạn như DataClient
và MessageClient
.
Để biết thêm thông tin, hãy tham khảo mẫu DataLayer.
Sử dụng một ứng dụng tối giản
Để tạo ứng dụng, hãy xem mã ví dụ sau:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
Ngữ cảnh có thể là bất kỳ ngữ cảnh Android hợp lệ nào. Nếu bạn đang sử dụng API trong phạm vi của Activity
, hãy sử dụng phương thức getDataClient()
của lớp Wearable
. Điều này cho phép một số lượt tương tác nhất định xuất hiện dưới dạng hộp thoại thay vì thông báo, chẳng hạn như khi người dùng được yêu cầu cập nhật phiên bản Dịch vụ Google Play.
Theo mặc định, lệnh gọi lại đến trình nghe được thực hiện trên luồng giao diện người dùng chính của ứng dụng. Để có các lệnh gọi lại được thực hiện trên một luồng khác, hãy sử dụng đối tượng WearableOptions
để chỉ định Looper
tuỳ chỉnh:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
Để biết thêm thông tin, hãy xem tài liệu tham khảo về WearableOptions.Builder
.
Tạo lại các thực thể ứng dụng nếu cần
Các ứng dụng API dành cho thiết bị đeo, chẳng hạn như DataClient
và MessageClient
, không tốn kém khi tạo. Vì vậy, thay vì giữ lại các ứng dụng khách, hãy tạo lại các ứng dụng khách đó khi bạn cần, sử dụng kiểu phù hợp với ứng dụng của bạn.
Trạng thái của ứng dụng (chẳng hạn như tập hợp trình nghe đã đăng ký) sẽ được chia sẻ trên mọi ứng dụng và được giữ nguyên nếu bạn cập nhật Dịch vụ Google Play trong lúc ứng dụng đang chạy.