성능 상태
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
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을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
Health Connect Client 버전 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에 포함된 커밋을 확인하세요.
새로운 기능
- 새로운 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)
- Exercise에 관련되도록 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)
버그 수정
- lib가 출시 버전과
minifyEnabled
true로 빌드된 경우 발생하는 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에 포함된 커밋을 확인하세요.
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에 포함된 커밋을 확인하세요.
새로운 기능
- 다른 앱에서 공유하는 피트니스 및 건강 기록을 읽는 API
- 피트니스 및 건강 기록을 작성하여 다른 앱과 공유하는 API
- 액세스할 수 있는 기록의 집계된 측정항목을 가져오는 API
- 다른 앱에 의한 기록 증분 변경사항(삽입, 업데이트, 삭제)을 가져오는 API
- 사용자에게 건강 관련 권한을 요청하는 메시지를 표시하는 API
- 건강 관련 권한을 확인하거나 부여된 권한을 취소하는 API
Health Services Client 버전 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에는 이 커밋이 포함되어 있습니다.
새로운 기능
- 이제 필요한 클래스가 제거되지 않도록 하는 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에는 이 커밋이 포함되어 있습니다.
보안 수정사항
- 이 변경사항부터 androidx는 CVE-2024-7254를 해결하기 위해 protobuf 4.28.2를 기준으로 컴파일합니다. 취약점 위험을 해결하려면
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에 포함된 커밋을 확인하세요.
API 변경사항
- 지원되는
ExerciseEvent
에 단일 정보 소스를 사용합니다. (I03308)
버그 수정
- 일부 버그 수정 및 문서 개선
버전 1.1.0-alpha01
2023년 8월 9일
androidx.health:health-services-client:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 첫 번째 구체적인 이벤트인
GolfShotEvent
와 함께ExerciseEvent
API가 추가되었습니다.ExerciseEvent
프리미티브를 사용하면 개발자가 지원을 쿼리하고 시계에서 무언가가 감지되면 알림을 요청할 수 있습니다. 예를 들어GolfShotEvent
를 사용하면 개발자가 사용자가 골프 샷을 칠 때 알림을 받을 수 있으며 인식된 스윙 유형도 수신할 수 있습니다.
API 변경사항
- WHS SDK 클라이언트가
GolfShotEvent
기능을 사용하도록 설정합니다. (I76b03)
버그 수정
- 알 수 없는 운동 이벤트 기능을 발견할 때 예외를 적극적으로 발생시키는 대신 목록에서 필터링합니다. (I06afc)
Health Services Client 버전 1.0
버전 1.1.0-alpha03
2024년 5월 14일
androidx.health:health-services-client:1.1.0-alpha03
이 출시되었습니다. 버전 1.1.0-alpha03에는 이 커밋이 포함되어 있습니다.
새로운 기능
- 샘플 데이터 유형 또는 통계 샘플 데이터 유형의 목표를 추적할 수 있는
DebouncedGoal
API를 도입했습니다(데브바운싱 기능(initialDelay
및durationAtThreshold
) 사용 시). (I09be9) - 다음과 같은 고급 실행 측정항목 샘플과 통계
DataTypes
를 추가했습니다. (I0b8b5):Ground Contact Time
Vertical Oscillation
Vertical Ratio
Stride Length
API 변경사항
ELEVATION_GAIN_DAILY
DataType
를 추가했습니다. (I059d1)SWIM_LAP_COUNT_TOTAL
DataType
를SWIM_LAP_COUNT
의 집계된DataType
로 추가했습니다. (I0beeb)
버그 수정
- IPC 안정성을 개선하기 위해 다양한 문제를 수정했습니다.
버전 1.0.0-rc02
2024년 4월 3일
androidx.health:health-services-client:1.0.0-rc02
이 출시되었습니다. 버전 1.0.0-rc02에는 이 커밋이 포함되어 있습니다. 버그 수정 전용 출시이며 API 변경사항은 포함되어 있지 않습니다.
버그 수정
- IPC 안정성을 개선하기 위한 다양한 문제가 수정되었습니다.
startExercise
를prepareExercise
와 동시에 호출하면ConcurrentModificationException
이 발생할 수 있는 문제를 수정했습니다. (4e37773)- 문서 개선
버전 1.0.0-rc01
2023년 7월 26일
androidx.health:health-services-client:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
새로운 기능
- 건강 관리 서비스가 베타에서 안정화된 후 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에 포함된 커밋을 확인하세요.
새로운 기능
이제 BatchingMode
를 구성된 간격으로 일괄 운동 데이터를 전송하도록 구성할 수 있습니다. 이때 전송은 활동 중(ExerciseConfig
를 통한 운동 시작 시 또는 재정의 메서드를 통한 운동 중) 기본값 대신 구성된 간격으로 이루어집니다. Google Play 스토어의 향후 건강 관리 서비스 출시에서 이 기능이 지원되며 운동 기능을 통해 확인할 수 있습니다. 참고: 일괄 처리 모드는 기기가 상호작용이 없는 전원 상태에 있는 동안 적용되며 전력 소비가 증가합니다.
API 변경사항
- 정지 함수
overrideBatchingModesForActiveExercise
가 실패할 때HealthServicesException
이 발생합니다. (Ifd387) - 비동기
overrideBatchingModesForActiveExercise
API에 더 kotlin 친화적인 suspend 함수를 도입했습니다. (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에 포함된 커밋을 확인하세요.
새로운 기능
- Kotlin 지원을 개선하기 위해
ExerciseClient
,PassiveMonitoringClient
,MeasureClient
의 기존 비동기ListenableFuture
API에 맞는suspend
확장 함수를 추가했습니다. (Iadea4) - 운동을 진행하는 중에 업데이트할 수 있게 해주는
ExerciseTypeConfig
API를 추가했습니다. 골프를 치는 중에ExerciseTypeConfig
를 업데이트할 수 있는GolfExerciseTypeConfig
를 추가했습니다. (I4c539)
API 변경사항
- 정지 함수에서
HealthServicesException
이 발생합니다. (I5e509) - 이전 버전과의 호환성을 위해 다른 생성자를 추가합니다. (Iddeda)
- 정지 함수에서
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에 포함된 커밋을 확인하세요.
새로운 기능
PassiveMonitoringClient
를 통해 건강 이벤트를 수신 대기하는 기능이 추가되었으며 첫 번째 이벤트는HealthEvent.FALL_DETECTED
입니다.새 ExerciseType:
ALPINE_SKIING
BACKPACKING
CROSS_COUNTRY_SKIING
HORSE_RIDING
INLINE_SKATING
MOUNTAIN_BIKING
ORIENTEERING
ROLLER_SKATING
YACHTING
새 DataType:
ELEVATION_LOSS
GOLF_SHOT_COUNT
API 변경사항
- 데이터 모델링 방법 업데이트: 데이터 모델과
DataType
,DataPoint
, 기본 값이 표현되는 방식이 변경되었습니다. 최상위 수준의 영향은 이제 API가 훨씬 더 명시적이고 유형 안전성이 높다는 것입니다. - 위치
DataPoint
는 더 이상DoubleArray
가 아니라 강타입(strongly typed)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
입니다.
- 이제 거리 속성에
- enum에서 이전했습니다.
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에 포함된 커밋을 확인하세요.
새로운 기능
- SDK는 건강 관리 서비스 APK와의 IPC 연결이 끊어진 경우 측정, 운동 리스너 및 수동 모니터링 콜백 등록 요청을 자동으로 다시 등록합니다.
API 변경사항
- Health Services Client가 현재 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에 포함된 커밋을 확인하세요.
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에 포함된 커밋을 확인하세요.
초기 출시의 기능
건강 관리 서비스 라이브러리는 개발자가 기기별 센서 구현과 통합할 수 있도록 일관된 API 세트를 제공합니다. Wear OS 3 에뮬레이터 및 향후 출시될 기기에서는 기본적으로 지원되며 향후 추가 플랫폼이 지원됩니다. 이 초기 출시에는 세 가지 최상위 API 노출 영역(ExerciseClient
, PassiveMonitoringClient
, MeasureClient
)이 포함되어 있습니다.
ExerciseClient
ExerciseClient
는 걷기와 달리기에서 댄스와 수구에 이르기까지 최대 82개의 다양한 ExerciseType
으로 활동적인 운동을 추적하는 애플리케이션용으로 만들어졌습니다. 이러한 운동을 추적하는 동안 기기에서 사용할 수 있는 운동 유형과 하드웨어에 따라 50개의 다양한 DataType
이 제공됩니다. 시작하려면 ExerciseConfig
에서 관련 정보를 지정하고 exerciseClient.startExercise
를 호출한 후 업데이트 리스너에서 진행 상황을 수신 대기하면 됩니다.
PassiveMonitoringClient
PassiveMonitoringClient
는 애플리케이션이 하루 종일 사용자 활동을 추적하는 경우에 적합합니다. PendingIntent
를 일련의 DataType
에 등록하면 일괄 처리된 변경사항을 처리할 수 있습니다. 또는 특정 걸음 수 충족 등 Event
를 지정할 수 있습니다.
MeasureClient
사용자가 운동 도중이나 하루 종일이 아닌 특정 순간의 심박수를 측정해야 할 때가 있습니다. 그러한 순간에는 MeasureClient
가 적합합니다. 지원되는 DataType
에 콜백을 등록하여 데이터 스트림을 수신하면 더 이상 필요하지 않을 때 콜백을 등록 취소할 수 있습니다.