Format typu danych Health Connect

Typy danych w Health Connect są przechowywane w obiektach, które są podklasami Record.

Z każdym typem danych są powiązane pola, które mogą być ogólne, np. timezoneOffset, lub szczegółowe, np. title, countpercentage. Niektóre pola używają typów podstawowych, takich jak long, double czy string, a inne – typów złożonych, np. wyliczeń i klas, takich jak InstantZoneOffset. Atrybuty tych pól mogą być wymagane lub opcjonalne. Niektóre atrybuty są tylko do odczytu, a niektóre są ograniczone do określonego zakresu wartości.

Pełną listę dostępnych typów danych i ich pól znajdziesz w klasach Jetpacka.

Atrybuty metadanych

Dane w interfejsie Health Connect API zawierają też atrybuty metadanych opisane na poniższej liście:

  • Identyfikator Health Connect: każdy punkt danych otrzymuje w momencie utworzenia unikalny identyfikator (UID). Jest to przydatne w przypadku standardowych operacji odczytu i zapisu. Więcej informacji znajdziesz w sekcji Identyfikator Health Connect.
  • Czas ostatniej modyfikacji: sygnatura czasowa ostatniej aktualizacji rekordu. Jest generowany automatycznie przy pierwszym utworzeniu rekordu lub przy każdej aktualizacji.
  • Pochodzenie danych: Health Connect przechowuje informacje o aplikacji, z której pochodzą dane. Zawiera nazwę pakietu tego źródła, która jest dodawana automatycznie podczas tworzenia.
  • Urządzenie: Health Connect przechowuje informacje o urządzeniu, z którego pochodzą dane. Zawiera producenta i model urządzenia, których wartość musisz podać ręcznie.
  • Identyfikator klienta: Health Connect udostępnia identyfikatory klientów, dzięki czemu aplikacje klienckie mogą odwoływać się do danych za pomocą własnych identyfikatorów, co ułatwia rozwiązywanie konfliktów i synchronizację. Jest on wprowadzany do rekordu ręcznie.
  • Wersja rekordu klienta: oprócz identyfikatora klienta Health Connect udostępnia wersje, które pomagają śledzić zmiany podczas synchronizacji danych. Jest on dodawany do rekordu ręcznie.
  • Metoda rejestrowania: Health Connect pozwala sprawdzić, jak dane są rejestrowane. Obejmują one aplikacje pasywnie (automatycznie) rejestrujące dane oraz użytkowników aktywnie lub ręcznie rejestrujących dane.

Identyfikator Health Connect

Health Connect przypisuje nowo wstawionym obiektom danych unikalne identyfikatory (UID), które identyfikują obiekty danych i odróżniają je od innych. Identyfikatory Health Connect przydają się w przypadku próśb o odczyt lub zapis. Identyfikatory Health Connect nie są identyczne z identyfikatorami klienta. Aplikacja kliencka przypisuje identyfikatory klienta, a Health Connect przypisuje wyłącznie identyfikatory Health Connect.

Podczas pracy z identyfikatorami Health Connect pamiętaj o tych kwestiach:

  • Sesje mają jeden identyfikator Health Connect, ale dane w sesjach mają własne identyfikatory Health Connect.
  • Identyfikatory Health Connect nie są powiązane z sygnaturami czasowymi.
  • Niektóre przypadki użycia mogą wymagać przechowywania określonego identyfikatora Health Connect podczas przepływu pracy. Na przykład do pobrania i wyświetlenia użytkownikowi wpisu danych, który właśnie zarejestrował, wymagany jest konkretny identyfikator.

Czas w Health Connect

Wszystkie dane zapisywane w Health Connect muszą zawierać informacje o przesunięciu strefy. Określenie przesunięcia strefy umożliwia aplikacjom odczytywanie danych i przedstawianie ich w czasie cywilnym. Czas cywilny to czas lokalny, który jest istotny dla użytkownika, ale niekoniecznie jest to uniwersalny czas koordynowany (UTC).

W rzadkich przypadkach przesunięcie strefy może być niedostępne. W Androidzie 14 (poziom API 34) Health Connect ustawia przesunięcie strefy na podstawie domyślnej strefy czasowej urządzenia. W Androidzie 13 i starszych wersjach (API na poziomie 33 i niższym) można zapisywać dane w Health Connect bez podawania informacji o przesunięciu strefy czasowej, czego należy w miarę możliwości unikać.

Ustawienia czasu i strefy

Określanie informacji o przesunięciu strefy podczas zapisywania danych zapewnia informacje o strefie czasowej podczas odczytywania danych w Health Connect. W niektórych sytuacjach może się to jednak nie udać, np. gdy nie podano przesunięcia strefy. Aplikacja musi być przygotowana do obsługi obu rodzajów danych w sposób odpowiedni do Twojej konkretnej sytuacji.