健全性
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 12 月 11 日 | - | 1.0.0-rc02 | - | 1.1.0-alpha05 |
依存関係の宣言
Health への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha03" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha03") }
フィードバック
お寄せいただいたフィードバックは 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.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 の変更
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, -Xtype-enhancement-improvements-strict-mode
(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 については、こちらをご覧ください。
新機能
- 最初のコンクリート イベント
GolfShotEvent
とともに、ExerciseEvent
API が追加されました。ExerciseEvent
プリミティブを使用すると、デベロッパーはサポートをクエリし、スマートウォッチで何かが検出されたときに通知をリクエストできます。たとえば、GolfShotEvent
を使用すると、ユーザーがゴルフショットを打ったときにデベロッパーに通知を送信できるほか、認識されたスイングタイプを受け取ることもできます。
API の変更
- WHS SDK クライアントが
GolfShotEvent
機能を使用できるようにします。(I76b03)
バグの修正
- 不明なエクササイズ イベントの機能を検出したときに例外をスローするのではなく、リストから除外します。(I06afc)
ヘルスサービス クライアント バージョン 1.0
バージョン 1.1.0-alpha03
2024 年 5 月 14 日
androidx.health:health-services-client:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 には、これらの commit が含まれています。
新機能
- デバウシング機能(
initialDelay
とdurationAtThreshold
)を使用して、エクササイズ中の試聴データ型または統計情報の試聴データ型の目標をトラッキングできるDebouncedGoal
API を導入しました。(I09be9) - 次の高度なランニング指標のサンプルと統計情報
DataTypes
を追加しました。(I0b8b5):Ground Contact Time
Vertical Oscillation
Vertical Ratio
Stride Length
API の変更
ELEVATION_GAIN_DAILY
DataType
を追加しました。(I059d1)SWIM_LAP_COUNT
の集計DataType
としてSWIM_LAP_COUNT_TOTAL
DataType
を追加しました。(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) - 非同期
overrideBatchingModesForActiveExercise
API の 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 のサポートを強化するため、既存の非同期
ListenableFuture
API のsuspend
拡張関数をExerciseClient
、PassiveMonitoringClient
、MeasureClient
に追加しました。(Iadea4) - エクササイズの進行中の更新を可能にする
ExerciseTypeConfig
API を追加しました。ゴルフ エクササイズ中の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_SKIING
BACKPACKING
CROSS_COUNTRY_SKIING
HORSE_RIDING
INLINE_SKATING
MOUNTAIN_BIKING
ORIENTEERING
ROLLER_SKATING
YACHTING
新しいデータ型:
ELEVATION_LOSS
GOLF_SHOT_COUNT
API の変更
- データのモデル化方法を更新: データモデルと、
DataType
、DataPoint
、およびそれらの基となる値を表現する手法が変更されました。最も大きな影響が生じるのは、API がより明示的でタイプセーフになったという点です。 - ロケーション
DataPoint
が、DoubleArray
としてではなく、厳密に型指定されたLocationData
オブジェクトとして表されるようになりました。 - パッシブ リスナー API の新しいセットに移動しました。
- ブロードキャストが
PassiveListenerService
に置き換えられました。 - 既存のリスナーが、単一のリスナー
PassiveListenerCallback
に置き換えられました。
- ブロードキャストが
- ヘルスサービスのマニフェストに
<queries>
タグを追加しました。これにより、アプリは独自のマニフェストでこれを指定する必要がなくなりました(ビルドシステムでマニフェスト マージが有効になっている場合)。 - エクササイズが終了中 / 終了済みであることを表すための多くの
ExerciseState
から移行し、新しいエクササイズの状態ENDING
とENDED
を追加しました。これらをExerciseEndReason
と組み合わせて、以前の状態のすべてを表現できます。 - 日常的なパッシブ目標のみをサポートすることをより反映させるために、
PassiveListenerConfig
setPassiveGoals
の名前を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
に登録するだけで、データ ストリームを受信でき、不要になったコールバックの登録は解除されます。