API ของ Data Layer ใน Wear OS ประกอบด้วยไคลเอ็นต์หลายประเภท ซึ่งมีประโยชน์สำหรับข้อมูลประเภทต่างๆ และในสภาวะการเชื่อมต่อที่แตกต่างกัน
หน้านี้จะแนะนำไคลเอ็นต์แต่ละประเภท และมีตารางที่เปรียบเทียบความสามารถของไคลเอ็นต์ต่างๆ คุณสามารถใช้ข้อมูลนี้เพื่อเลือกชุดประเภทไคลเอ็นต์ที่เหมาะกับแอปของคุณมากที่สุด
เมื่อใดที่ควรใช้ Data Layer API
ใช้ Data Layer API เมื่อการโต้ตอบเกิดขึ้นระหว่างนาฬิกาและโทรศัพท์ในเครื่องเท่านั้น โปรดดูตัวอย่างโดยละเอียดที่หัวข้อ กรณีการใช้งานทั่วไปของ Data Layer
ไคลเอ็นต์ข้อมูล
ออบเจ็กต์ DataClient ช่วยให้คุณอ่านหรือเขียนไปยัง DataItem หรือ
Asset ได้
DataItemแต่ละรายการเป็นหน่วยข้อมูลที่ออกอากาศและซิงค์ในอุปกรณ์ทั้งหมดที่อยู่ใกล้เคียงซึ่งผู้ใช้เป็นเจ้าของ ระบบจะจัดเก็บDataItemอย่างถาวร และอุปกรณ์ของคุณสามารถอ่านเนื้อหาของDataItemได้จนกว่าจะมีการลบรายการข้อมูลนั้นAssetมีไว้สำหรับเพย์โหลดข้อมูลขนาดใหญ่ เช่น รูปภาพหรือไฟล์สื่อ
ไคลเอ็นต์ข้อความ
ออบเจ็กต์ MessageClient สามารถส่งข้อความได้และเหมาะสำหรับการเรียกใช้กระบวนการระยะไกล (RPC) เช่น การใช้อุปกรณ์ Wear OS เพื่อควบคุมแอปเวอร์ชันที่ติดตั้งในอุปกรณ์พกพา
ข้อความเหมาะสำหรับคำขอทางเดียวโดยใช้ sendMessage() หรือสำหรับโมเดลการสื่อสารแบบคำขอและการตอบกลับโดยใช้ sendRequest() ไคลเอ็นต์ข้อความต้องให้โหนดเชื่อมต่อกับเครือข่ายเพื่อส่งข้อความ ซึ่งแตกต่างจากไคลเอ็นต์ข้อมูล
เมธอด sendMessage() เป็นการพยายามส่งไปยังโหนดระยะไกลอย่างดีที่สุด และไม่มีกลไกการลองอีกครั้งในตัว หากอุปกรณ์เป้าหมายยกเลิกการเชื่อมต่อก่อนที่การโอนเครือข่ายจะเริ่มขึ้น เมธอดจะแสดงผล TARGET_NODE_NOT_CONNECTED
ไคลเอ็นต์ช่อง
ออบเจ็กต์ ChannelClient ให้การสื่อสารแบบสตรีมมิงระหว่าง
อุปกรณ์ ช่องคือท่อการสื่อสารแบบสองทิศทางระหว่าง 2 โหนด ซึ่งมีประโยชน์สำหรับกรณีการใช้งานต่างๆ เช่น กรณีต่อไปนี้
- โอนไฟล์ข้อมูลระหว่างอุปกรณ์ที่เชื่อมต่อ 2 เครื่องขึ้นไปเมื่อไม่มีอินเทอร์เน็ต
ChannelClientช่วยประหยัดพื้นที่ดิสก์มากกว่าDataClientซึ่งจะสร้างสำเนาของเนื้อหาในอุปกรณ์ในเครื่องก่อนที่จะซิงค์กับอุปกรณ์ที่เชื่อมต่อ - ส่งไฟล์ที่มีขนาดใหญ่เกินกว่าจะส่งโดยใช้
MessageClientได้อย่างน่าเชื่อถือ - โอนข้อมูลแบบสตรีมมิง เช่น ข้อมูลเสียงจากไมโครโฟน
หลังจากเปิดช่องแล้ว คุณจะส่งและรับข้อมูลในสตรีมไบต์ต่อเนื่องได้ แทนที่จะเป็นหน่วย DataItem ที่แยกกันซึ่งไคลเอ็นต์ข้อมูลกำหนด
คุณมีหน้าที่รับผิดชอบในการจัดการโฟลว์ข้อมูลและรักษาความสอดคล้องของข้อมูล ไคลเอ็นต์ช่องไม่มีการซิงค์ข้อมูลอัตโนมัติในระดับเดียวกับไคลเอ็นต์ข้อมูล
การเปรียบเทียบไคลเอ็นต์
ตารางต่อไปนี้จะเปรียบเทียบความสามารถของไคลเอ็นต์ต่างๆ
| ประเภทไคลเอ็นต์ | การคงอยู่ของข้อมูล | รองรับข้อมูลที่มีขนาดใหญ่กว่า 100 KB ไหม | เครือข่ายที่จะใช้ | ทำงานในแบบออฟไลน์ได้ไหม |
|---|---|---|---|---|
| ไคลเอ็นต์ข้อมูล | ข้อมูลจะคงอยู่ตลอดไป | ได้ (ใช้ออบเจ็กต์
Asset
) |
แนะนำให้ใช้บลูทูธ ระบบจะสำรองข้อมูลไปยังระบบคลาวด์ และหากบลูทูธพร้อมใช้งาน ระบบจะทำการสำรองข้อมูลนี้แบบไม่พร้อมกัน | ได้ ทั้งสำหรับการอ่านและการเขียน |
| ไคลเอ็นต์ข้อความ | ไม่มีการคงอยู่และไม่มีการลองอีกครั้ง | ไม่ | แนะนำให้ใช้บลูทูธ แต่สามารถใช้ Wi-Fi ได้หากเป็นการเชื่อมต่อประเภทเดียวที่ พร้อมใช้งาน | ไม่ |
| ไคลเอ็นต์ช่อง | ไม่มีการคงอยู่ (เน้นการเชื่อมต่อ) | ใช่ | แนะนำให้ใช้บลูทูธ แต่สามารถใช้ Wi-Fi ได้หากเป็นการเชื่อมต่อประเภทเดียวที่ พร้อมใช้งาน | ไม่ |
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ Data Layer API ได้ที่ คู่มือการซิงค์ข้อมูล และดูข้อควรพิจารณาด้านพลังงานเมื่อใช้ Data Layer API ได้ที่ คู่มือการประหยัดพลังงาน