健康

  
プラットフォームに依存しない方法で高性能のヘルスケア アプリを作成します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 4 月 3 日 - 1.0.0-rc02 - 1.1.0-alpha02

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.health:health-services-client:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.1.0-alpha02")
}

フィードバック

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

新しい問題を報告する

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

ヘルスコネクト クライアント バージョン 1.0

バージョン 1.0.0-alpha04

2022 年 8 月 24 日

1.0.0-alpha04 以降、androidx.health:health-connect-clientandroidx.health.connect:connect-client に移行されました。今後のリリースについては、androidx.health.connect:connect-client、およびヘルスコネクト ページの関連するリリースノートを使用してください。

移行するには、依存関係のインポートを androidx.health:health-connect-client:1.0.0-alpha03 から androidx.health.connect:connect-client:1.0.0-alpha04 に変更します。

バージョン 1.0.0-alpha03

2022 年 7 月 27 日

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

新機能

  • 新しい API の変更の概要: 読み取り、書き込み、および集計 API に単位のセットが追加されました。アプリは、任意の単位(たとえば NutritionRecord 栄養素の場合はグラムやミリグラム)でレコードの取得または書き込みを行えるようになりました。

API の変更

  • 各種のリクエスト レスポンス オブジェクトで List<DataOrigin>Set<DataOrigin> に修正しました。(I42342
  • パワー -> エネルギーの基礎合計カロリーの単位を修正しました。(I0b429
  • 級数レコード内の級数サンプルクラスを次のように移行しました。(Ica9bb
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • HealthDataRequestPermission クラスを非推奨にして PermissionController.createRequestPermissionActivityContract に置き換えました。これにより、検出可能性が向上し、パラメータ化の統合が促進されます。(I81e7f
  • ボリュームに米国の液量オンスを追加しました。(I5f03d
  • 単位タイプとして速度を追加しました。(I1d574
  • 単位タイプとしてパーセンテージを追加しました。(I08f23
  • 単位タイプとして圧力を追加しました。(Ifb01f
  • 単位タイプとして質量を追加しました。(Ifd81a
  • 単位タイプとしてボリュームを追加しました。(I59ad1
  • 単位タイプとしてパワーを追加しました。PowerRecord クラス内のパワー級数サンプルクラスを移行しました。(I5b1e5
  • 単位タイプとしてエネルギーを追加しました。(I983ae
  • 単位タイプとして温度を追加しました。(I4cdb5
  • Activity の参照の名前を、次のようにエクササイズ固有の名前に変更しました。(I3f936
    • ActivityLap -> ExerciseLapRecord に名前変更
    • ActivityEvent -> ExerciseEventRecord に名前変更
    • Repetitions -> ExerciseRepetitionsRecord に名前変更
    • ActivitySession -> ExerciseSessionRecord に名前変更
  • パッケージ メタデータをレコードの下に移動してネストしました。(Ie0835
  • 残りのすべてのレコードでは長さ単位を使用しました。(Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • 単位タイプとして長さを追加しました。(Idae39
  • CervicalMucus の説明の用語を更新しました。(I25a2b
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • すべてのレコードクラス名に接尾辞「Record」を追加しました。(I1ffc2

バグの修正

  • リリースのフレーバーと minifyEnabled が true の状態で lib がビルドされたときの ProGuard の問題を修正しました。(I78933
  • 一般公開用ではないドキュメントを非表示にします。(I7a08f
  • 独自の protobuf 依存関係を持つ可能性があるクライアントの問題を修正しました(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)。

バージョン 1.0.0-alpha02

2022 年 6 月 1 日

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

API の変更

  • AggregationResulthasMetricgetMetric が非推奨になり、contains 演算子と get 演算子が追加されました。(I7cc7c
  • OvulationTest.Result.HIGHOvulationTest.Result.INCONCLUSIVE を追加します。(I9f9c4

バグの修正

  • SDK 要件を 26 に減らします。(I6d201

バージョン 1.0.0-alpha01

2022 年 5 月 11 日

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

新機能

  • 他のアプリと共有されているフィットネスや健康状態の記録を読み取るための API
  • 他のアプリと共有するフィットネスや健康状態の記録を書き込むための API
  • アクセス可能なレコードの集計指標を取得するための API
  • 他のアプリによる記録の追加変更(挿入、更新、削除)を取得するための API
  • 健康データへのアクセス許可をユーザーに促すための API
  • 健康データへのアクセス許可を確認したり取り消したりするための API

ヘルスサービス クライアント バージョン 1.1

バージョン 1.1.0-alpha02

2023 年 12 月 13 日

androidx.health:health-services-client:1.1.0-alpha02 がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください

API の変更

  • サポートされている ExerciseEvent について、信頼できる唯一の情報源を使用します。(I03308

バグの修正

  • 軽微なバグを修正し、ドキュメントを改善しました。

バージョン 1.1.0-alpha01

2023 年 8 月 9 日

androidx.health:health-services-client:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • 最初の具象イベント GolfShotEvent とともに ExerciseEvent API が追加されました。ExerciseEvent プリミティブを使用すると、デベロッパーはサポートをクエリし、スマートウォッチが何かが発生したことを検出したときに通知を受けるようにリクエストできます。たとえば、GolfShotEvent を使用すると、認識されたスイングタイプを受け取るだけでなく、ユーザーがゴルフのショットを打ったときにも通知を受け取ることができます。

API の変更

  • WHS SDK クライアントが GolfShotEvent 機能を使用できるようにします。(I76b03

バグの修正

  • 未知のエクササイズ イベント機能の表示に対して積極的に例外をスローする代わりに、リストから除外します。(I06afc

ヘルスサービス クライアント バージョン 1.0

バージョン 1.0.0-rc02

2024 年 4 月 3 日

androidx.health:health-services-client:1.0.0-rc02 がリリースされました。バージョン 1.0.0-rc02 に含まれる commit については、こちらをご覧ください。これはバグの修正のみのリリースであり、API の変更は含まれていません。

バグの修正

  • IPC の信頼性を改善するために、さまざまな問題を修正しました
  • prepareExercise と同時に startExercise を呼び出すと ConcurrentModificationException が発生する可能性がある問題を修正しました。(4e37773
  • ドキュメントの改善

バージョン 1.0.0-rc01

2023 年 7 月 26 日

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

新機能

  • ヘルスサービスは、ベータ版で安定した後、1.0.0-rc01 に移動しました。

API の変更

  • h-thru m-paths の公開 API ファイルと試験運用版 API ファイルをマージしました。(Ic4630b/278769092
  • 該当なし。API ファイルの変更は、単にメソッドを並べ替えるだけです。(I5fa95

バージョン 1.0.0-beta03

2023 年 4 月 5 日

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

新機能

BatchingMode は、アクティブなエクササイズ中(エクササイズの開始時、ExerciseConfig またはオーバーライド メソッド中)にデフォルトではなく、設定した間隔でバッチ エクササイズ データを配信するよう設定できるようになりました。この機能のサポートは、Google Play ストアの今後のヘルスサービス リリースで可能になり、エクササイズ機能で確認できます。注: バッチ処理モードは、デバイスが非対話型の電力状態にあるときに有効になるため、消費電力が増加します。

API の変更

  • suspend 関数 overrideBatchingModesForActiveExercise が失敗した場合に HealthServicesException をスローします。(Ifd387
  • 非同期 overrideBatchingModesForActiveExercise API の suspend 関数を導入して Kotlin で使いやすくしました。(I7dd15
  • BatchingModeExerciseConfig でオプションのオーバーライドを行います。(Id22e9

バグの修正

  • DataTypeExerciseUpdate の軽微な修正。(5e185f

バージョン 1.0.0-beta02

2023 年 1 月 11 日

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

新機能

  • Kotlin のサポートを強化するため、既存の非同期 ListenableFuture API の suspend 拡張関数を ExerciseClientPassiveMonitoringClientMeasureClient に追加しました。(Iadea4
  • エクササイズの進行中の更新を可能にする ExerciseTypeConfig API を追加しました。ゴルフ エクササイズ中の ExerciseTypeConfig の更新をサポートするため GolfExerciseTypeConfig を追加しました。(I4c539

API の変更

  • suspend 関数で HealthServicesException をスローします。(I5e509
  • 下位互換性を保つために別のコンストラクタを追加しました。(Iddeda
  • suspend 関数で RuntimeException をスローします。(I53bca
  • 例外のスローのデフォルト実装を削除しました。(Id947f
  • @JvmDefaultWithCompatibility アノテーションを追加しました。(I8f206

バグの修正

  • わかりやすくするため kdoc に追加しました。(Ide285
  • 同じデータ型もトラッキングしている場合にのみ、目標のパッシブ モニタリングのトラッキングが可能になります。(Ibed8d

バージョン 1.0.0-beta01

2022 年 10 月 24 日

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

新機能

  • 最初のイベントが HealthEvent.FALL_DETECTED である PassiveMonitoringClient を介してヘルスイベントをリッスンする機能が追加されました。

  • 新しいエクササイズの種類:

    • ALPINE_SKIING
    • BACKPACKING
    • CROSS_COUNTRY_SKIING
    • HORSE_RIDING
    • INLINE_SKATING
    • MOUNTAIN_BIKING
    • ORIENTEERING
    • ROLLER_SKATING
    • YACHTING
  • 新しいデータ型:

    • ELEVATION_LOSS
    • GOLF_SHOT_COUNT

API の変更

  • データのモデル化方法を更新: データモデルと、DataTypeDataPoint、およびそれらの基となる値を表現する手法が変更されました。最も大きな影響が生じるのは、API がより明示的でタイプセーフになったという点です。
  • ロケーション DataPoint が、DoubleArray としてではなく、厳密に型指定された LocationData オブジェクトとして表されるようになりました。
  • パッシブ リスナー API の新しいセットに移動しました。
    • ブロードキャストが PassiveListenerService に置き換えられました。
    • 既存のリスナーが、単一のリスナー PassiveListenerCallback に置き換えられました。
  • ヘルスサービスのマニフェストに <queries> タグを追加しました。これにより、アプリは独自のマニフェストでこれを指定する必要がなくなりました(ビルドシステムでマニフェスト マージが有効になっている場合)。
  • エクササイズが終了中 / 終了済みであることを表すための多くの ExerciseState から移行し、新しいエクササイズの状態 ENDINGENDED を追加しました。これらを ExerciseEndReason と組み合わせて、以前の状態のすべてを表現できます。
  • 日常的なパッシブ目標のみをサポートすることをより反映させるために、PassiveListenerConfig setPassiveGoals の名前を setDailyGoals に変更しました。
  • PassiveGoal が常に REPEATED になり、パッシブ TriggerFrequency が削除されました。
  • すべての Long パラメータと Double パラメータに @FloatRange アノテーションを付けました。
  • ExerciseConfigswimmingPoolLengthMeters プロパティを追加しました。このプロパティは、プール スイミングの距離計算を改善するためにオプションで指定できます。
  • ExerciseUpdate.activeDuration を非推奨としました。代わりに ExerciseUpdate.activeDurationCheckpoint を使用してください
  • ExerciseClient の API flushExerciseAsync() の名前を flushAsync() に変更しました。
  • Measure.registerCallback の名前を Measure.registerMeasureCallback に変更しました。
  • 全般的な名称の変更:
    • 距離プロパティに meters 接尾辞が付くようになりました。
    • コールバック メソッド名が過去形になりました。
    • ほとんどの略語が削除されました(HrAccuracyHeartRateAccuracy になりました)。
    • パターン enableFoo に従うプロパティの名前が isFooEnabled になりました。
  • 列挙型から移行されました。
  • Double で表される時刻が Duration で表されるようになりました。
  • ListenableFuture<Void?> を返す関数が ListenableFuture<Void> を返すようになりました。
  • コールバックを受け入れる関数で、コールバックが常に最後のパラメータとして表示されるようになりました。
  • ビルダーを持つクラスに、常にパブリック コンストラクタも含まれるようになりました。
  • 登録関数が ListenableFuture を返さなくなり、代わりに、指定されたコールバックに登録ステータスを渡すようになりました。
  • KDocs が改善されました。
  • パブリック クラスが ProtoParcelable を拡張しなくなりました。

バグの修正

  • IPC の信頼性を全般的に改善(I3b1e2

バージョン 1.0.0-alpha03

2021 年 11 月 3 日

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

新機能

  • SDK は、Health Services APK で IPC 接続が切断された場合に、測定、エクササイズ リスナー、およびパッシブ モニタリング コールバックの登録リクエストを自動的に再登録します。

API の変更

  • ヘルスサービス クライアントは現在 Wear3 でのみサポートされているため、SDK ライブラリの minSdkVersion は API レベル 30 に引き上げられました。

バージョン 1.0.0-alpha02

2021 年 9 月 29 日

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

API の変更

  • ExerciseClient がエクササイズの準備をサポートするようになりました。これにより、クライアントはセンサーをウォームアップし、GPS 修正などを待ってからエクササイズを開始できます。
  • CumulativeDataPoints および StatisticalDataPoints AggregateDataPoint クラスを導入し、アクティブなエクササイズ中にトラッキングされる集計指標をより適切にモデル化できるようにしました。CumulativeDataPoints は、集計された間隔データ型(エクササイズ中の合計距離など)の累積値を保持し、StatisticalDataPoints は、サンプリングされたデータポイント(HeartRateBpm の最小値、最大値、平均値など)の集計値をモデル化します。これは以前の AGGREGATE_* DataType に代わるものであり、getLatestAggregateMetrics() を介して ExerciseUpdate 内でアクセスできます。AGGREGATE_* DataType はサポート対象外になりました。
  • PassiveMonitoring イベントの名前が PassiveGoals に変更されました。このイベントは、日次指標(DAILY_STEPS など)のデータ型について、目標の設定と目標達成時の通知の受け取りをサポートします。
  • 新しい HrAccuracy クラス、LocationAccuracy クラス、LocationAvailability クラスの導入により、心拍数、位置情報の精度、可用性のモデル化を改善しました。
  • ExerciseConfig と新しい PassiveMonitoringConfig フィールドの名前を改善し、GPS に裏付けられたデータをリクエストする ExerciseConfig.shouldEnableGps を導入しました。

バグの修正

  • 下位互換性のサポートを強化するため、proto に支えられた IPC トランスポートに移行しました。

バージョン 1.0.0-alpha01

2021 年 5 月 18 日

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

初回リリースの機能

Health Services ライブラリには統一された一連の API が用意されており、デベロッパーはデバイス固有のセンサーの実装と統合できます。Wear OS 3 エミュレータおよび近日発売予定のデバイスですぐに使用できます。今後、他のプラットフォームもサポートされる予定です。この初回リリースには、3 つのトップレベル API サーフェス(ExerciseClientPassiveMonitoringClientMeasureClient)が含まれています。

ExerciseClient

ExerciseClient は、アクティブなワークアウトをトラッキングするアプリ向けです。ウォーキングやランニングから、ダンスや水球まで、最大で 82 種類の ExerciseType を利用できます。このようなエクササイズのトラッキングでは、デバイスで利用できるエクササイズのタイプとハードウェアに応じて、50 種類の DataType が用意されています。まず、ExerciseConfig で関連情報を指定し、exerciseClient.startExercise を呼び出して、更新リスナーで進捗状況をリッスンします。

PassiveMonitoringClient

PassiveMonitoringClient は、アプリで 1 日を通してユーザーのアクティビティをトラッキングする場合に最適です。PendingIntentDataType のセットに登録して、一括変更を処理できるようになります。また、一定のステップ数への到達など、Event を指定することもできます。

MeasureClient

運動中や 1 日を通してではなく、その瞬間の心拍数などを測定する必要がある場合もあります。そのような場合は、MeasureClient が最適です。コールバックをサポートされている DataType に登録するだけで、データ ストリームを受信でき、不要になったコールバックの登録は解除されます。