Watch Face Format の気象データ

バージョン 2 以降、Watch Face Format には天気データのサポートが含まれています。このデータは、現在の天気情報から 1 時間ごとや 1 日ごとの予報まで、さまざまな指標と期間を対象としています。

天気情報にはを使用してアクセスします。たとえば、<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] の両方が true になることもあります。これは、データが最新ではなく、データの更新を試みたが失敗した場合です。このような場合は、利用可能な天気予報とともに、新しいデータの取得でエラーが発生したことを示すインジケーターが表示されます。

データの鮮度

利用可能なデータのタイムスタンプには、[WEATHER.LAST_UPDATED](ミリ秒単位の Unix エポック タイムスタンプ)を使用してアクセスできます。

この値は、天気サンプルに示すように、icuText(,) メソッドを使用して人間が読める形式に変換できます。

悪天候

現在の条件は [WEATHER.CONDITION] で確認できます。人間が読める形式の条件は [WEATHER.CONDITION_NAME] で確認できます。

[WEATHER.CONDITION] の値は、データソースで確認できます。たとえば、4HEAVY_RAIN を表します。

その他の指標

Watch Face Format は、[WEATHER.TEMPERATURE][WEATHER.UV_INDEX] など、さまざまな追加指標を提供します。単位やデータ型など、使用可能な指標の詳細については、データソースのリファレンス ページをご覧ください。

1 時間ごと、日ごとの天気予報

特定の時間または日の天気予報には、次のようにアクセスできます。

  • [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 サンプルをご覧ください。