ข้อมูลสภาพอากาศใน Watch Face Format

ตั้งแต่เวอร์ชัน 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 ในตัวเพื่อ ระบุตำแหน่งสำหรับพยากรณ์อากาศ แต่จะใช้ตำแหน่งจาก อุปกรณ์พกพาที่เชื่อมต่อหรือจากเครือข่ายที่พร้อมใช้งานแทน

หากต้องการทำให้ข้อมูลตำแหน่งพร้อมสำหรับการทดสอบ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

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