バージョン 2 以降、Watch Face Format は気象データをサポートしています。このデータは、現在の状況から 1 時間ごと、1 日ごと���予測まで、さまざまな指標と時間枠をカバーしています。
Weather には式を使用してアクセスします。たとえば、<Text>
要素で現在の天気情報を表���するには、次のような式を使用します。
<Text>
<Font family="SYNC_TO_DEVICE" size="32">
<Template>Today's weather: %s
<Parameter expression="[WEATHER.CONDITION_NAME]"/>
</Template>
</Font>
</Text>
対象
ウォッチフェイスは、[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 にできます。この場合、データが古く、データの更新に失敗した場合です。このような場合は、利用可能な天気情報とともに、新しいデータの取得中にエラーが発生したことを示すインジケーターを表示できます。
データの更新頻度
使用可能なデータのタイムスタンプには、ミリ秒単位の Unix エポック タイムスタンプである [WEATHER.LAST_UPDATED]
を使用してアクセスできます。
天気情報のサンプルに示すように、この値は icuText(,)
メソッドを使用して書式設定し、人が読める形式で表現できます。
悪天候
現在の条件は [WEATHER.CONDITION]
で確認できます。人間が読めるバージョンは [WEATHER.CONDITION_NAME]
で確認できます。
[WEATHER.CONDITION]
の値はデータソースで確認できます。たとえば、4
は HEAVY_RAIN
を表します。
その他の指標
Watch Face Format には、[WEATHER.TEMPERATURE]
や [WEATHER.UV_INDEX]
などのさまざまな追加指標が用意されています。単位やデータ型など、使用可能な指標の詳細については、データソースのリファレンス ページをご覧ください。
1 時間ごと、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 センサーを使用して天気予報の位置情報を特定するのではなく、接続されているハンドヘルド デバイスまたは利用可能なネットワークからの位置情報に依存しています。
位置情報をテストに利用できるようにするには、次のいずれかを行います。
- 物理スマートフォンまたはエミュレータ スマートフォンと 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 クイック リファレンス