ตั้งแต่เวอร์ชัน 2 เป็นต้นมา Watch Face Format ได้รวมการรองรับข้อมูลสภาพอากาศไว้ด้วย ข้อมูลนี้ครอบคลุมเมตริกและกรอบเวลาที่หลากหลาย ตั้งแต่สภาพอากาศปัจจุบันไปจนถึงพยากรณ์อากาศรายชั่วโมงและรายวัน
คุณเข้าถึงสภาพอากาศได้โดยใช้ นิพจน์ ตัวอย่างเช่น หากต้องการแสดงสภาพอากาศปัจจุบันในองค์ประกอบ <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] อาจเป็นจริงทั้งคู่ในกรณีที่ข้อมูลล้าสมัยและระบบพยายามรีเฟรชข้อมูลแต่ไม่สำเร็จ ในกรณีดังกล่าว ระบบจะแสดงสภาพอากาศที่พร้อมใช้งานพร้อมกับตัวบ่งชี้ที่แสดงว่าเกิดข้อผิดพลาดในการดึงข้อมูลใหม่
ความใหม่ของข้อมูล
คุณเข้าถึงการประทับเวลาของข้อมูลที่พร้อมใช้งานได้โดยใช้ [WEATHER.LAST_UPDATED] ซึ่งเป็นการประทับเวลา Unix Epoch ในหน่วยมิลลิวินาที
คุณสามารถจัดรูปแบบค่านี้ได้โดยใช้วิธี icuText(,) เพื่อให้ได้การแสดงผลที่อ่านได้
ดังที่แสดงในตัวอย่างสภาพอากาศ
สภาพอากาศ
สภาพอากาศปัจจุบันจะอยู่ใน [WEATHER.CONDITION] โดยมีเวอร์ชันที่อ่านได้อยู่ใน [WEATHER.CONDITION_NAME]
คุณดูค่าสำหรับ [WEATHER.CONDITION] ได้ใน แหล่งข้อมูล เช่น 4 หมายถึง HEAVY_RAIN
เมตริกอื่นๆ
Watch Face Format มีเมตริกเพิ่มเติมที่หลากหลาย เช่น [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