Watch Face Format の気象データ

バージョン 2 以降、Watch Face Format は天気データのサポートに対応しています。 このデータは、現在の天気から 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 日後の天気予報。

1 時間ごとのデータは最大 8 時間先まで、日ごとのデータは最大 5 日先まで利用できます。ただし、ウォッチフェイスでは常に天気予報データの可用性を確認する必要があります。時間や日数は、時間帯やデバイスによって異なる場合があります。たとえば、1 時間後の天気予報データが利用可能かどうかを確認するには、[WEATHER.HOURS.1.IS_AVAILABLE] を使用します。

日ごと、1 時間ごとの天気予報には、 [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 サンプルをご覧ください。