Wear Watchface

Wear OS by Google スマートウォッチ向けのアプリを作成します。
最新の更新 現在の安定版リリース 次のリリース候補 ベータ版リリース アルファ版リリース
2021 年 11 月 3 日 - 1.0.0-rc01 - -

依存関係の宣言

Wear への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    // Use to implement wear watchfaces
    implementation "androidx.wear.watchface:watchface:1.0.0-rc01"

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.0.0-rc01"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.0.0-rc01"

    // Use to implement a watchface style and complication editor
    implementation "androidx.wear.watchface:watchface-editor:1.0.0-rc01"
}

Kotlin

dependencies {
    // Use to implement wear watchfaces
    implementation("androidx.wear.watchface:watchface:1.0.0-rc01")

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.0.0-rc01"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.0.0-rc01"

    // Use to implement a watchface style and complication editor
    implementation("androidx.wear.watchface:watchface-editor:1.0.0-rc01")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.0

バージョン 1.0.0-rc01

2021 年 11 月 3 日

androidx.wear.watchface:watchface-*:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください

バグの修正

  • フローの移行によって機能しなくなる dump()(adb shell dumpsys によって呼び出されます)を修正しました。(087cf9e

  • writeDirectBootPrefs の適切な順序付けを保証します。writeDirectBootPrefs が常に initStyleAndComplications の後に実行されるようにします。そうしないと、UI スレッドの init が遅延するリスクがあります。(37650ac

  • Renderer.onDestroy が呼び出されることを保証します。レンダラが作成済みであるにもかかわらず WF init が完了せず Engine.onDestroy が呼び出される場合は、Renderer.onDestroy を呼び出す必要があります。(f9952dc

  • isBatteryLowAndNotCharging を最適化 / 修正しました。このパッチにより、isBatteryLowAndNotCharging の初期セットアップがもっと早い段階に移動されるため、createWatchFace と並列で実行できるようになります。さらに、ACTION_POWER_DISCONNECTED をリッスンするようになりました。(ddffd80

  • InteractiveWatchFaceClientImpl.isConnectionAlive はクローズ後に false になります。(ab9774e

バージョン 1.0.0-beta01

2021 年 10 月 27 日

androidx.wear.watchface:watchface-*:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください

バージョン 1.0.0-alpha24

2021 年 10 月 13 日

androidx.wear.watchface:watchface-*:1.0.0-alpha24 がリリースされました。バージョン 1.0.0-alpha24 に含まれる commit については、こちらをご覧ください

API の変更

  • パッケージ androidx.wear.watchface.complications のクラスを新しい wear:watchface:watchface-complications プロジェクトに移動しました。つまり、クラスの重複に関するエラーが発生するため、このライブラリと以前のアルファ版の wear:watchface:watchface-complications-data を含めることはできなくなります。(I97195
  • Renderer.dump の名前が Renderer.onDump に変更され、@UiThread アノテーションが付けられました。(I44845
  • InteractiveWatchFaceClient.addWatchFaceReadyListener の名前を addOnWatchFaceReadyListener に、removeWatchFaceReadyListener の名前を removeOnWatchFaceReadyListener に変更しました。(I48fea
  • EditorSession getComplicationsPreviewDatagetComplicationsDataSourceInfo は、suspend 関数ではなくなり、初期値が null の StateFlow<> のプロパティとなりました。ListenableEditorSession getListenableComplicationPreviewDatagetListenableComplicationsProviderInfo が削除され、基本クラスの新しい StateFlow<> オブジェクトに置き換えられました。Java コードの変更をリッスンする必要がある場合は、androidx.lifecycle.FlowLiveDataConversions.asLiveData を使用して LiveData<> に変換することを検討してください。(Ic5483

バージョン 1.0.0-alpha23

2021 年 9 月 29 日

androidx.wear.watchface:watchface-*:1.0.0-alpha23 がリリースされました。バージョン 1.0.0-alpha23 に含まれる commit については、こちらをご覧ください

新機能

ウォッチフェイス ライブラリは単一のライブラリ グループになったため、ライブラリは移動しました。そのため、次のように gradle のインポートを更新する必要があります。

androidx.wear:wear-complications-data androidx.wear.watchface:watchface-complications-data
androidx.wear:wear-complications-data-source androidx.wear.watchface:watchface-complications-data-source
androidx.wear:wear-watchface androidx.wear.watchface:watchface
androidx.wear:wear-watchface-complications-rendering androidx.wear.watchface:watchface-complications-rendering
androidx.wear:wear-watchface-client androidx.wear.watchface:watchface-client
androidx.wear:wear-watchface-client-guava androidx.wear.watchface:watchface-client-guava
androidx.wear:wear-watchface-data androidx.wear.watchface:watchface-data
androidx.wear:wear-watchface-editor androidx.wear.watchface:watchface-editor
androidx.wear:wear-watchface-editor-guava androidx.wear.watchface:watchface-editor-guava
androidx.wear:wear-watchface-guava androidx.wear.watchface:watchface-guava
androidx.wear:wear-watchface-style androidx.wear.watchface:watchface-style

API の変更

  • 個別の androidx.wear ウォッチフェイス ライブラリとウォッチフェイスの追加機能ライブラリを androidx.wear.watchface ライブラリ グループに移行します。(b25f3c0
  • ウォッチフェイス エディタがヘッドレス編集をサポートしているかどうかをクライアントに知らせるために、EditorRequest.canWatchFaceSupportHeadlessEditing を追加しました。asop/1756809 でサポートが追加されたため、これに関して偽陰性が生じる可能性がありますが、将来のすべてのウォッチフェイスに対しては正しい値が返されます。(ca55590
  • レンダラに dump() メソッドが追加されました。このメソッドをオーバーライドして、ABD shell dumpsys アクティビティ サービス WatchFaceService によって生成された情報にカスタムデータを追加できます。(95235f9
  • InteractiveWatchFaceClient.addWatchFaceReadyListener が最初にエグゼキュータを指定するようになりました。(563ac2f
  • StateFlowCompatHelper が削除されました。代わりに、asLiveData(androidx.lifecycle.asLiveData)を使用する必要があります。(bd35d3
  • CurrentUserStyleRepository.userStyle が変更できなくなりました。(I44889
  • WatchFaceReadyListener の名前を OnWatchFaceReadyListener に変更しました。(Ic12a9

バグの修正

  • InteractiveInstanceManager.deleteInstance で onDestroy を呼び出します。これは、InteractiveWatchFaceImpl がガベージ コレクションされるようにするために必要です。(fce4af8b/199485839