ตั้งแต่เวอร์ชัน 2 เป็นต้นมา รูปแบบหน้าปัดนาฬิการองรับข้อมูลสภาพอากาศ ข้อมูลนี้ครอบคลุมเมตริกและกรอบเวลาต่างๆ ตั้งแต่สภาพอากาศปัจจุบัน ไปจนถึงพยากรณ์อากาศรายชั่วโมงและรายวัน
เข้าถึงสภาพอากาศโดยใช้นิพจน์ เช่น หากต้องการแสดงสภาพอากาศปัจจุบันในองค์ประกอบ <Text> ให้ใช้นิพจน์ที่คล้ายกับนิพจน์ต่อไปนี้
<PartText x="100" y="100" width="200" height="50"> <Text> <Font family="SYNC_TO_DEVICE" size="16"> <Template><![CDATA[Today's weather: %s]]> <Parameter expression="[WEATHER.CONDITION_NAME]"/> </Template> </Font> </Text> </PartText>
ความพร้อมใช้งาน
ก่อนเข้าถึงสมาชิกคนอื่นๆ ของออบเจ็กต์ [WEATHER.*] ให้ตรวจสอบค่า [WEATHER.IS_AVAILABLE] ดังนี้
<Condition> <Expressions> <Expression name="is_weather_available">[WEATHER.IS_AVAILABLE]</Expression> </Expressions> <Compare expression="is_weather_available"> <!-- Weather is available, so show the weather data. --> </Compare> <Default> <!-- Weather isn't available, so show an appropriate message. --> </Default> </Condition>
นอกจากนี้ คุณควรตรวจสอบ[WEATHER.IS_ERROR]ด้วย ซึ่งระบุข้อผิดพลาดในการ
โหลดข้อมูลสภาพอากาศ
โปรดทราบว่า [WEATHER.IS_AVAILABLE] และ [WEATHER.IS_ERROR] อาจเป็นจริงทั้ง 2 อย่าง
ในกรณีที่ข้อมูลไม่อัปเดตและพยายามรีเฟรชข้อมูลไม่สำเร็จ ในกรณีดังกล่าว
ระบบจะแสดงสภาพอากาศที่มีอยู่พร้อมตัวบ่งชี้เพื่อแสดงว่า
เกิดข้อผิดพลาดในการดึงข้อมูลใหม่
ความใหม่ของข้อมูล
คุณเข้าถึงการประทับเวลาของข้อมูลที่ใช้ได้โดยใช้
[WEATHER.LAST_UPDATED] ซึ่งเป็นการประทับเวลา Unix Epoch ในหน่วยมิลลิวินาที
คุณจัดรูปแบบค่านี้ได้โดยใช้เมธอด icuText(,) เพื่อให้ได้การแสดงผลที่
มนุษย์อ่านได้ ดังที่แสดงในตัวอย่างสภาพอากาศ
สภาพอากาศ
เงื่อนไขปัจจุบันมีอยู่ใน [WEATHER.CONDITION] โดยมีเวอร์ชันที่มนุษย์อ่านได้ใน [WEATHER.CONDITION_NAME]
คุณดูค่าสำหรับ [WEATHER.CONDITION] ได้ในแหล่งข้อมูล เช่น 4 หมายถึง HEAVY_RAIN
เมตริกอื่นๆ
รูปแบบหน้าปัดมีเมตริกเพิ่มเติมอีกมากมาย เช่น
[WEATHER.TEMPERATURE] และ [WEATHER.UV_INDEX] ดูรายละเอียดทั้งหมด
ของเมตริกที่ใช้ได้ รวมถึงหน่วยและประเภทข้อมูลได้ที่หน้าอ้างอิงแหล่งข้อมูล
พยากรณ์อากาศรายชั่วโมงและรายวัน
คุณเข้าถึงสภาพอากาศที่พยากรณ์สำหรับชั่วโมงหรือวันใดวันหนึ่งในอนาคตได้โดยทำดังนี้
[WEATHER.HOURS.1.CONDITION]- สภาพอากาศที่พยากรณ์ไว้ในอีก 1 ชั่วโมง[WEATHER.DAYS.2.CONDITION]- สภาพอากาศที่พยากรณ์ไว้ในอีก 2 วันข้างหน้า
ข้อมูลรายชั่วโมงอาจพร้อมใช้งานล่วงหน้าสูงสุด 8 ชั่วโมง และข้อมูลรายวันอาจพร้อมใช้งานล่วงหน้าสูงสุด 5 วัน
อย่างไรก็ตาม หน้าปัดควรตรวจสอบความพร้อมใช้งานของ
ข้อมูลพยากรณ์อากาศเสมอ ช่วงเวลาหรือวันอื่นๆ อาจพร้อมให้บริการใน
ช่วงเวลาหรืออุปกรณ์อื่นๆ เช่น หากต้องการตรวจสอบว่าข้อมูลการพยากรณ์
พร้อมใช้งานในอีก 1 ชั่วโมงนับจากนี้หรือไม่ ให้ใช้ [WEATHER.HOURS.1.IS_AVAILABLE]
การพยากรณ์รายวันและรายชั่วโมงยังมีเมตริกต่างๆ เช่น
[WEATHER.HOURS.<N>.TEMPERATURE] และ
[WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION] ดูรายละเอียดทั้งหมด
ของเมตริกที่ใช้ได้ รวมถึงหน่วยและประเภทข้อมูลได้ที่หน้าอ้างอิงแหล่งข้อมูล
การทดสอบด้วยข้อมูลสภาพอากาศ
อุปกรณ์ Wear OS ต้องทราบตำแหน่งของอุปกรณ์จึงจะรับข้อมูลสภาพอากาศได้
เพื่อประหยัดพลังงาน นาฬิกาจะไม่ใช้เซ็นเซอร์ GPS ในตัวเพื่อ ระบุตำแหน่งสำหรับพยากรณ์อากาศ แต่จะใช้ตำแหน่งจาก อุปกรณ์พกพาที่เชื่อมต่อหรือจากเครือข่ายที่พร้อมใช้งานแทน
หากต้องการทำให้ข้อมูลตำแหน่งพร้อมสำหรับการทดสอบ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้
- จับคู่โปรแกรมจำลอง Wear OS กับโทรศัพท์จริงหรือโทรศัพท์จำลอง
- จำลองตำแหน่งผ่านคำสั่ง adb ต่อไปนี้
adb unroot
adb shell cmd location set-location-enabled true
adb root
adb shell appops set 0 android:mock_location allow
adb shell cmd location providers add-test-provider gps
adb shell cmd location providers set-test-provider-enabled gps true
adb shell cmd location providers set-test-provider-location gps --location 37.773972,-122.431297
รายละเอียดเพิ่มเติม
ดูตัวอย่างการเข้าถึงและการแสดงผลข้อมูลสภาพอากาศแบบสมบูรณ์ได้ที่ตัวอย่างใน GitHub
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- เปลี่ยนลักษณะการทำงานของโฟกัส
- ผลข้างเคียงใน Compose
- ข้อมูลอ้างอิงโดยย่อของ AGSL