API lapisan data Wear OS terdiri dari beberapa jenis klien yang berbeda, berguna untuk berbagai jenis data dan pada konektivitas yang berbeda kondisi tertentu.
Halaman ini memperkenalkan setiap jenis klien, dan menyertakan tabel yang membandingkan kemampuan dari klien yang berbeda. Dengan menggunakan informasi ini, Anda dapat memilih kumpulan jenis klien yang paling sesuai untuk aplikasi Anda.
Klien data
Objek DataClient
memungkinkan Anda membaca atau menulis ke DataItem
atau
Asset
:
Setiap
DataItem
adalah unit informasi yang disiarkan dan disinkronkan di semua perangkat terdekat yang dimiliki pengguna.DataItem
disimpan secara persisten, dan perangkat Anda dapat membaca kontennya hingga item data tersebut dihapus.Asset
dimaksudkan untuk payload data yang lebih besar, seperti file gambar atau media.
Klien pesan
Objek MessageClient
dapat mengirim pesan dan cocok untuk prosedur jarak jauh
panggilan (RPC), seperti menggunakan perangkat Wear OS untuk mengontrol versi aplikasi
yang diinstal pada
perangkat genggam.
Pesan sangat cocok untuk permintaan satu arah menggunakan sendMessage()
, atau untuk
model komunikasi permintaan-dan-respons menggunakan sendRequest()
. Berbeda dengan data,
klien pesan, klien pesan membutuhkan {i>
node<i} untuk terhubung ke jaringan agar
untuk mengirim pesan.
Metode sendMessage()
adalah upaya terbaik untuk mengirim ke node jarak jauh, dan
dan tidak berisi mekanisme
percobaan ulang bawaan. Jika perangkat target
terputus sebelum transfer jaringan dimulai, metode ini akan
TARGET_NODE_NOT_CONNECTED
.
Klien saluran
Objek ChannelClient
menyediakan komunikasi berorientasi aliran antara antara
perangkat. Saluran adalah pipa komunikasi dua arah antara dua node,
yang berguna untuk kasus penggunaan seperti berikut:
- Mentransfer file data antara dua atau beberapa perangkat yang terhubung saat internet
tidak tersedia.
ChannelClient
menghemat ruang disk lebih dariDataClient
, yang membuat salinan aset pada perangkat lokal sebelum disinkronkan dengan perangkat yang terhubung. - Andal dalam mengirim file yang terlalu besar untuk dikirim menggunakan
MessageClient
. - Mentransfer data streaming, seperti data suara dari mikrofon.
Setelah membuka saluran, Anda dapat mengirim dan menerima data dalam byte berkelanjutan
aliran data, bukan unit DataItem
terpisah yang diperlukan klien data.
Anda bertanggung jawab untuk mengelola aliran data dan menjaga data tetap konsisten. Klien saluran tidak menawarkan tingkat sinkronisasi data otomatis yang sama yang dilakukan oleh klien data.
Perbandingan klien
Tabel berikut membandingkan kemampuan berbagai klien:
Jenis klien | Persistensi data | Mendukung data yang berukuran lebih besar dari 100 KB? | Jaringan yang akan digunakan | Bekerja secara offline? |
---|---|---|---|---|
Klien data | Data disimpan tanpa batas waktu | Ya (gunakan
Asset
objek) |
Bluetooth lebih disukai. Data dicadangkan ke {i>cloud<i}; jika Bluetooth adalah cadangan ini dilakukan secara asinkron | Ya, untuk baca dan tulis |
Klien pesan | Tanpa persistensi dan tidak ada percobaan ulang | Tidak | Bluetooth lebih disukai, tetapi dapat menggunakan Wi-Fi jika itu adalah satu-satunya jenis koneksi tersedia | Tidak |
Klien saluran | Tidak ada persistensi (berorientasi koneksi) | Ya | Bluetooth lebih disukai, tetapi dapat menggunakan Wi-Fi jika itu adalah satu-satunya jenis koneksi tersedia | Tidak |