DevBytes: Google Fit APIs for Android – Recording and History

안녕하세요 리사 레이입니다 안드로이드를 위한 구글 핏 API에 돌아오신 걸 환영합니다 이전 제 DevByte에서 데이터베이스나 저희 자체 백엔드를 쓰지 않고 사용자 데이터를 저장하고 되찾는 피트니스 앱 작성법을 가르쳐 드리겠다고 약속했었죠 그 동영상에서 핏 API를 설정해서 센서 데이터를 받아와서 실시간 걸음 수를 측정하는 방법을 알려드렸습니다 아직 못 보신 분들은 그걸 먼저 보고 오시길 추천드립니다 저희 앱의 다음 단계는 사용자의 걸음 데이터를 저장해서 기록을 나중에 볼 수 있게 하는 겁니다 여기서 기록 API가 제 역할을 합니다 기록 API는 피트니스 데이터를 구독 기능을 사용해서 자동 저장소를 제공합니다 구글 핏은 백그라운드에서 선택된 피트니스 데이터를 저장하고 앱 구독을 지속시킵니다 센서 API에서와 마찬가지로 구글 플레이 서비스에 접속하는 모든 단계를 거치고 피트니스 API 범위를 요청해야 합니다 접속이 되면 시작할 수 있습니다 구독 호출은 이제는 꽤 익숙해지셨을 겁니다 어느 API를 호출하느냐의 차이만 있죠 기록 API의 구독은 센서 API처럼 listerner로 콜백을 받는 것을 의미하지는 않습니다 사실, 보시면 알겠지만 여기서는 listener는 전혀 관여하지 않습니다 대신 구글 핏이 백그라운드에서 데이터 기록을 시작하여 클라우드 데이터스토어와 동기화되는 걸 의미하는데 이렇게 되면 저희가 추가로 할 작업은 없게 됩니다 차후 필요할 때 찾아 오기만 하면 되죠 하루가 끝날 무렵 그 날이 이전하고 어떻게 다르게 흘러갔는지 사용자가 알고 싶어할 수 있습니다 그래서 저희는 히스토리 API를 사용해서 핏이 저장해 놓은 데이터를 되찾아 오겠습니다 히스토리 API는 피트니스 기록에 액세스를 제공해 주고 앱에서 피트니스 데이터를 입력 삭제 및 읽기를 할 수 있게 해 줍니다 앱은 구글 핏으로 배치 데이터를 가져올 수도 있죠 먼저 되찾아올 데이터의 시간상 처음과 끝의 범위가 필요합니다 예를 들어 지난 한 주간 데이터를 찾는다고 가정해 봅시다 우리는 하루 단위 버킷 사용자 걸음 수를 요구하고 있습니다 지난 한 주 동안 매일마다 얼마나 걸었는지를 알고 싶은 거죠 마지막으로, 데이터 읽기와 저희 요청을 이용해서 히스토리 API를 적용합니다 대부분의 경우, 이를테면 센서를 구독하거나 listener를 추가하거나 할 때 결과는 즉시 돌아오기에 시간대별 결과를 기대할 수 있습니다 하지만 이 경우는 다르죠 핏은 클라우드 데이터스토어에서 결과를 가져오기 위해 네트워크 접속이 필요할 수 있습니다 그래서 결과 콜백을 설정하고 비동기적 결과를 기다려야 합니다 저희가 일별 합계를 요청했기 때문에 데이터 결과는 버킷을 포함합니다 이 경우 각 버킷은 하루에 대응됩니다 각 버킷은 데이터 포인트를 포함한 데이터 세트를 갖습니다 여기 데이터 포인트 사이를 반복하고 그 정보를 출력하는 예시가 있습니다 시작과 끝 시간과 필드 값 쌍처럼 말이죠 우리의 경우는 각 버킷이 하나의 데이터 세트에 하나의 데이터 포인트가 해당 일의 걸음 수 집계를 보여 주고 있습니다 그러므로 저희 앱은 사용자의 하루 걸음 수가 시간에 따라 어떻게 변하는지 그래프를 그릴 수 있습니다 이제 다 하셨습니다 저희 앱은 걸음 수를 보이고 그 수를 기록하고 피트니스 데이터를 되찾아 오는 모든 기능을 안드로이드의 핏 API를 사용해서 모두 처리할 수 있습니다 이건 핏 API가 할 수 있는 여러 작업들의 하나의 예시에 불과합니다 운동 세션, 커스텀 활동 그리고 인텐트를 사용해서 다른 앱을 실행하여 피트니스 데이터를 보여주는 것도 가능성 중 일부일 뿐입니다 저희 웹사이트에 API의 전체 내용이 준비돼 있습니다 하지만 먼저 핏 샘플로 바로 나가서 뛰어 보는 것도 좋을 것 같습니다 시청해 주셔서 감사합니다 여러분이 구글 핏으로 뭘 보여 주실지 기대가 큽니다