Health Connect'teki veri türleri, Record
alt sınıfları olan nesnelerde depolanır.
Her veri türü için time
ve zoneOffset
gibi genel veya title
, count
ve percentage
gibi özel alanlar bulunur.
Bazı alanlarda uzun, çift veya dize gibi temel türler kullanılırken bazılarında numaralandırmalar ve Instant
ve ZoneOffset
gibi sınıflar gibi karmaşık türler kullanılır. Bu alanların özellikleri zorunlu veya isteğe bağlı olabilir. Bazı özellikler salt okunur, bazı özellikler ise belirli bir değer aralığıyla sınırlıdır.
Kullanılabilir veri türlerinin ve alanlarının tam listesi için Jetpack'teki sınıflara bakın.
Meta veri özellikleri
Health Connect API'deki veriler, aşağıdaki listede açıklanan meta veri özelliklerini de içerir:
- Health Connect kimliği: Her veri noktasına, oluşturulurken benzersiz bir tanımlayıcı (UID) atanır. Bu, standart okuma ve yazma işlemleri için kullanışlıdır. Daha fazla bilgi için Health Connect kimliği başlıklı makaleyi inceleyin.
- Son değiştirilme zamanı: Bir kaydın son güncelleme zaman damgasını gösterir. Kayıt ilk oluşturulduğunda veya her güncellemede otomatik olarak oluşturulur.
- Veri kaynağı: Health Connect, verilerin geldiği uygulama hakkındaki bilgileri depolar. Bu kaynakların paket adını içerir ve oluşturma sırasında otomatik olarak eklenir.
- Cihaz: Health Connect, verilerin geldiği cihazla ilgili bilgileri saklar. Bu değer, cihazın üreticisini ve modelini içerir. Değeri manuel olarak siz sağlarsınız.
- İstemci kimliği: Health Connect, istemci uygulamalarının kendi kimliklerini kullanarak verilere başvurabilmesi için istemci kimlikleri sağlar. Bu, çakışma çözümüne yardımcı olur ve senkronizasyonu kolaylaştırır. Bu, kayda manuel olarak girilir.
- İstemci kaydı sürümü: Health Connect, istemci kimliğinin yanı sıra veri senkronizasyonu sırasında değişikliklerin izlenmesine yardımcı olmak için sürüm oluşturma özelliği de sunar. Bu, kayda manuel olarak girilir.
- Kayıt yöntemi: Health Connect, verilerin nasıl kaydedildiğini anlamanıza olanak tanır. Bu yöntemler arasında verileri pasif olarak (otomatik) kaydeden uygulamalar ve verileri aktif olarak veya manuel olarak kaydeden kullanıcılar yer alır.
Health Connect kimliği
Health Connect, yeni eklenen veri nesnelerine, veri nesnelerini tanımlayan ve diğerlerinden ayıran benzersiz tanımlayıcılar (UID) atar. Health Connect kimlikleri, okuma veya yazma isteklerinde faydalıdır. Health Connect kimlikleri, istemci kimlikleriyle aynı değildir. İstemci uygulaması, istemci kimlikleri atarken Health Connect yalnızca Health Connect kimlikleri atar.
Health Connect kimlikleriyle çalışırken aşağıdaki notları göz önünde bulundurun:
- Oturumların tek bir Health Connect kimliği vardır ancak oturumlardaki verilerin kendi Health Connect kimlikleri vardır.
- Health Connect kimlikleri, zaman damgalarıyla bağlı veya ilişkili değildir.
- Bazı kullanım alanlarında, iş akışı sırasında belirli bir Health Connect kimliğinin saklanması gerekebilir. Örneğin, kullanıcının yeni kaydettiği veri girişini alıp göstermek için belirli bir kimlik gerekir.
Health Connect'te geçirilen süre
Health Connect'e yazılan tüm verilerde saat dilimi farkı bilgisi belirtilmelidir. Bölge farkının belirtilmesi, uygulamaların verileri okuyarak sivil saatte göstermesini sağlar. Sivil saat, kullanıcının yerel ve alakalı olduğu saattir ancak Eşgüdümlü Evrensel Saat (UTC) olmayabilir.
Nadir durumlarda, saat dilimi farkı kullanılamayabilir. Bu durum Android 14'te (API düzeyi 34) gerçekleştiğinde Health Connect, saat dilimi farkını cihazın sistem varsayılan saat dilimine göre ayarlar. Android 13 ve önceki sürümlerde (API düzeyi 33 ve önceki sürümler) herhangi bir saat dilimi farkı bilgisi belirtmeden Health Connect'e yazmak mümkündür. Bu durum mümkün olduğunda önlenmelidir.
Saat ve saat dilimi ayarı
Veri yazarken bölge saat farkı bilgilerini belirtmek, Health Connect'te veri okurken saat dilimi bilgilerini sağlar. Ancak, bölge farkı sağlanmadığında olduğu gibi belirli durumlarda bunu yapamayabilir. Uygulamanız, her iki veri türünü de özel durumunuza uygun şekilde işleyecek şekilde hazırlanmalıdır.