Format typu danych Health Connect

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

Każdy typ danych ma powiązane z nim pola, które mogą być ogólne, np. time i zoneOffset, lub szczegółowe, np. title, count i percentage. Niektóre pola używają typów podstawowych, takich jak long, double lub string, a inne typów złożonych, takich jak wyliczenia i klasy, np. Instant i ZoneOffset. 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 w Jetpacku.

Atrybuty metadanych

Dane w interfejsie Health Connect API zawierają też atrybuty metadanych, które są 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 on 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 pochodzenia, która jest dodawana automatycznie podczas tworzenia.
  • Urządzenie: Health Connect przechowuje informacje o urządzeniu, z którego pochodzą dane. Obowiązkowy jest tylko typ urządzenia. Wszystkie pozostałe pola (producent, model, wyświetlana nazwa i niepowtarzalny identyfikator urządzenia (UDI)) są opcjonalne.
  • 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 dodawany do rekordu ręcznie.
  • Wersja rekordu klienta: oprócz identyfikatora klienta Health Connect udostępnia obsługę wersji, która pomaga śledzić zmiany podczas synchronizacji danych. Jest on dodawany do rekordu ręcznie.
  • Metoda rejestracji: 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 unikalne identyfikatory (UID) do nowo wstawionych obiektów danych, które identyfikują obiekty danych i odróżniają je od innych. Identyfikatory Health Connect są przydatne w przypadku próśb o odczyt lub zapis. Identyfikatory Health Connect nie są identyczne z identyfikatorami klientów. Identyfikatory klienta są przypisywane przez aplikację klienta, a identyfikatory Health Connect – wyłącznie przez 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 lokalnym. Czas cywilny to czas lokalny, istotny dla użytkownika, ale niekoniecznie uniwersalny czas koordynowany (UTC).

W rzadkich przypadkach przesunięcie strefy może być niedostępne. W Androidzie 14 (API na poziomie 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.