健全性
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2025 年 5 月 7 日 | 1.0.0 | - | - | 1.1.0-alpha05 |
依存関係の宣言
Health への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha05" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha05") }
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
ヘルスコネクト クライアント バージョン 1.0
バージョン 1.0.0-alpha04
2022 年 8 月 24 日
1.0.0-alpha04 以降、androidx.health:health-connect-client は androidx.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.SampleHeartRate->HeartRateRecord.SampleStepsCadence->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):
ActivityLapRecordElevationGainedRecordHeightRecordHipCircumferenceRecordWaistCircumferenceRecord
- 単位タイプとして長さを追加しました。(Idae39)
CervicalMucusの説明の用語を更新しました。(I25a2b)CervicalMucus.Amount->CervicalMucusRecord.TextureCervicalMucus.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 の変更
AggregationResultのhasMetricとgetMetricが非推奨になり、contains 演算子と get 演算子が追加されました。(I7cc7c)OvulationTest.Result.HIGHとOvulationTest.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-alpha05
2024 年 12 月 11 日
androidx.health:health-services-client:1.1.0-alpha05、androidx.health:health-services-client-external-protobuf:1.1.0-alpha05、androidx.health:health-services-client-proto:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit はこちらをご覧ください。
新機能
- 必要なクラスが削除されないようにする ProGuard ルールが追加されました。(65d0c3f)
バグの修正
- このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、次のコンパイラ オプションを使用して、正しい使用を強制する必要があります。
-Xjspecify-annotations=strict(これは、Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)。(Iaf73a、b/326456246)
バージョン 1.1.0-alpha04
2024 年 10 月 16 日
androidx.health:health-services-client:1.1.0-alpha04、androidx.health:health-services-client-external-protobuf:1.1.0-alpha04、androidx.health:health-services-client-proto:1.1.0-alpha04 がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit はこちらをご覧ください。
セキュリティに関する修正
- この変更により、androidx は protobuf 4.28.2 に対してコンパイルされ、CVE-2024-7254 に対処します。
androidx.health:health-services-clientの依存関係を最新の 1.1.0-alpha04 にアップグレードして、脆弱性リスクに対処します。
バージョン 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 については、こちらをご覧ください。
新機能
ExerciseEventAPI が、最初のコンクリート イベントGolfShotEventとともに追加されました。ExerciseEventプリミティブを使用すると、デベロッパーはサポートをクエリし、スマートウォッチで何かが検出されたときに通知をリクエストできます。たとえば、GolfShotEventを使用すると、デベロッパーは、認識されたスイング タイプを受け取るだけでなく、ユーザーがゴルフショットを打ったときに通知を受け取ることができます。
API の変更
- WHS SDK クライアントが
GolfShotEvent機能を使用できるようにします。(I76b03)
バグの修正
- 不明なエクササイズ イベントの機能を検出したときに例外をスローするのではなく、リストから除外します。(I06afc)
ヘルスサービス クライアント バージョン 1.0
バージョン 1.0.0
2025 年 5 月 7 日
androidx.health:health-services-client:1.0.0 がリリースされました。バージョン 1.0.0 には、これらの commit が含まれています。
1.0.0 の主な機能
- これは、1.0.0-rc02 をヘルスサービス クライアントの安定版として昇格させるものです。1.0.0-rc02 からの変更はありません。
バージョン 1.1.0-alpha03
2024 年 5 月 14 日
androidx.health:health-services-client:1.1.0-alpha03 がリリースされました。バージョン 1.1.0-alpha03 には、これらの commit が含まれています。
新機能
- デバウシング機能(
initialDelayとdurationAtThreshold)を使用して、エクササイズ中の試聴データ型または統計情報の試聴データ型の目標をトラッキングできるDebouncedGoalAPI を導入しました。(I09be9) - 次の高度なランニング指標のサンプルと統計情報
DataTypesを追加しました。(I0b8b5):Ground Contact TimeVertical OscillationVertical RatioStride Length
API の変更
ELEVATION_GAIN_DAILYDataTypeを追加しました。(I059d1)SWIM_LAP_COUNTの集計DataTypeとしてSWIM_LAP_COUNT_TOTALDataTypeを追加しました。(I0beeb)
バグの修正
- IPC の信頼性を向上させるために、さまざまな問題を修正しました。
バージョン 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 については、こちらをご覧ください。
新機能
- Health Services は、ベータ版で安定した後、1.0.0-rc01 に移行しました。
API の変更
- h パスから m パスまでの公開 API ファイルと試験運用版 API ファイルを統合しました。(Ic4630、b/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) - 非同期
overrideBatchingModesForActiveExerciseAPI の suspend 関数を導入し、Kotlin に適した API にしました(I7dd15) BatchingModeがExerciseConfigの省略可をオーバーライドしました。(Id22e9)
バグの修正
DataTypeとExerciseUpdateの軽微な修正(5e185f)
バージョン 1.0.0-beta02
2023 年 1 月 11 日
androidx.health:health-services-client:1.0.0-beta02 がリリースされました。バージョン 1.0.0-beta02 に含まれる commit については、こちらをご覧ください。
新機能
- Kotlin のサポートを強化するため、既存の非同期
ListenableFutureAPI のsuspend拡張関数をExerciseClient、PassiveMonitoringClient、MeasureClientに追加しました。(Iadea4) - エクササイズの進行中の更新を可能にする
ExerciseTypeConfigAPI を追加しました。ゴルフ エクササイズ中のExerciseTypeConfigの更新をサポートするためGolfExerciseTypeConfigを追加しました。(I4c539)
API の変更
- suspend 関数で
HealthServicesExceptionをスローします。(I5e509) - 下位互換性を保つために別のコンストラクタを追加しました。(Iddeda)
- suspend 関数で
RuntimeExceptionをスローします。(I53bca) - 例外のスローのデフォルト実装を削除しました。(Id947f)
@JvmDefaultWithCompatibilityアノテーションを追加しました。(I8f206)
バグの修正
バージョン 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_SKIINGBACKPACKINGCROSS_COUNTRY_SKIINGHORSE_RIDINGINLINE_SKATINGMOUNTAIN_BIKINGORIENTEERINGROLLER_SKATINGYACHTING
新しいデータ型:
ELEVATION_LOSSGOLF_SHOT_COUNT
API の変更
- データのモデル化方法を更新: データモデルと、
DataType、DataPoint、およびそれらの基となる値を表現する手法が変更されました。最も大きな影響が生じるのは、API がより明示的でタイプセーフになったという点です。 - ロケーション
DataPointが、DoubleArrayとしてではなく、厳密に型指定されたLocationDataオブジェクトとして表されるようになりました。 - パッシブ リスナー API の新しいセットに移動しました。
- ブロードキャストが
PassiveListenerServiceに置き換えられました。 - 既存のリスナーが、単一のリスナー
PassiveListenerCallbackに置き換えられました。
- ブロードキャストが
- ヘルスサービスのマニフェストに
<queries>タグを追加しました。これにより、アプリは独自のマニフェストでこれを指定する必要がなくなりました(ビルドシステムでマニフェスト マージが有効になっている場合)。 - エクササイズが終了中 / 終了済みであることを表すための多くの
ExerciseStateから移行し、新しいエクササイズの状態ENDINGとENDEDを追加しました。これらをExerciseEndReasonと組み合わせて、以前の状態のすべてを表現できます。 - 日常的なパッシブ目標のみをサポートすることをより反映させるために、
PassiveListenerConfigsetPassiveGoalsの名前をsetDailyGoalsに変更しました。 PassiveGoalが常にREPEATEDになり、パッシブTriggerFrequencyが削除されました。- すべての
LongパラメータとDoubleパラメータに@FloatRangeアノテーションを付けました。 ExerciseConfigにswimmingPoolLengthMetersプロパティを追加しました。このプロパティは、プール スイミングの距離計算を改善するためにオプションで指定できます。ExerciseUpdate.activeDurationを非推奨としました。代わりにExerciseUpdate.activeDurationCheckpointを使用してくださいExerciseClientの APIflushExerciseAsync()の名前をflushAsync()に変更しました。Measure.registerCallbackの名前をMeasure.registerMeasureCallbackに変更しました。- 全般的な名称の変更:
- 距離プロパティに
meters接尾辞が付くようになりました。 - コールバック メソッド名が過去形になりました。
- ほとんどの略語が削除されました(
HrAccuracyはHeartRateAccuracyになりました)。 - パターン
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 サーフェス(ExerciseClient、PassiveMonitoringClient、MeasureClient)が含まれています。
ExerciseClient
ExerciseClient は、アクティブなワークアウトをトラッキングするアプリ向けです。ウォーキングやランニングから、ダンスや水球まで、最大で 82 種類の ExerciseType を利用できます。このようなエクササイズのトラッキングでは、デバイスで利用できるエクササイズのタイプとハードウェアに応じて、50 種類の DataType が用意されています。まず、ExerciseConfig で関連情報を指定し、exerciseClient.startExercise を呼び出して、更新リスナーで進捗状況をリッスンします。
PassiveMonitoringClient
PassiveMonitoringClient は、アプリで 1 日を通してユーザーのアクティビティをトラッキングする場合に最適です。PendingIntent を DataType のセットに登録して、一括変更を処理できるようになります。また、一定のステップ数への到達など、Event を指定することもできます。
MeasureClient
運動中や 1 日を通してではなく、その瞬間の心拍数などを測定する必要がある場合もあります。そのような場合は、MeasureClient が最適です。コールバックをサポートされている DataType に登録するだけで、データ ストリームを受信でき、不要になったコールバックの登録は解除されます。