Farklı türlerdeki ses gözlükleri ve ekran gözlükleri farklı özelliklere sahiptir. Örneğin, tüm sesli gözlükler ve ekranlı gözlükler sesli deneyimler sunarken yalnızca ekranlı gözlüklerde uygulamanızın Jetpack Compose Glimmer ile oluşturulan kullanıcı arayüzlerini gösterebileceği bir ekran bulunur.
Çeşitli cihazlarda sorunsuz bir kullanıcı deneyimi oluşturmak için farklı cihaz özelliklerini kontrol etmek üzere gözlükler için Activity planlayın. Bu yaklaşım, belirli cihazları hedefleyen birden fazla etkinlik oluşturmak yerine davranışını uyarlayan tek bir etkinlik oluşturmanıza olanak tanıyarak geliştirme sürecini basitleştirir.
Planlanan etkinliklerin yaşam döngüsünü anlama
Ses gözlükleri ve ekran gözlükleri için oluşturduğunuz etkinlik doğrudan cihazda çalışmaz. Bunun yerine, bir ana makine cihazından (ör. kullanıcının telefonu) cihaza yansıtılır. Bu amaçla oluşturduğunuz özel etkinlikler tahmini etkinlikler olarak adlandırılır. Tahmini etkinliklerin yaşam döngüsü, standart etkinlik yaşam döngüsüne dayanır ancak farklı ses gözlüğü ve ekran gözlüğü türlerinin özelliklerini destekleyen çeşitli önemli farklılıklar da içerir.
Aşağıda, önemli etkinliklerin dökümü ve ses gözlükleri ile ekran gözlüklerine yansıtılan etkinliklere özgü etkileşimlerle ilgili açıklamalar yer almaktadır:
onCreate()- Öngörülen etkinlik oluşturulduğunda çağrılır.
- Uygulamanızın Jetpack Compose Glimmer kullanıcı arayüzünü ve diğer bileşenlerini burada başlatın.
onStart()- Öngörülen etkinlik başladığında ve kullanıcı uygulamanın farkında olduğunda çağrılır.
onResume()- Öngörülen etkinlik yeniden odaklandığında çağrılır. Etkinlik ön planda olduğunda etkileşim kurulabilir ve dokunmatik yüzey veya düğme girişini kullanabilir.
- Gözlükler daha önce baştan çıkarıldıktan (doffed) sonra tekrar takıldığında (donned) çağrılır.
onPause()- Öngörülen etkinlik odağını kaybettiğinde ancak kullanıcı uygulamanızın hâlâ farkındayken çağrılır. Etkinlik odak dışındayken etkileşime girilemez ve giriş tüketimi durur.
onStop()- Sistem, kullanıcının uygulamanızın artık farkında olmadığını düşündüğünde çağrılır.
- Gözlükler kafadan çıkarıldığında (çıkarıldığında) çağrılır.
onDestroy()- Öngörülen etkinlik yok edilmek üzere olduğunda çağrılır. Bu yöntem çağrıldığında sistem, etkinliğe bağlı tüm kaynakları serbest bırakır.
Görüntüleme durumunun, planlanan etkinlik yaşam döngüsünü nasıl etkilediğini anlama
Standart bir Activity'de, cihazın ekranı kapandığında yaşam döngüsü durumu değişir ve genellikle onPause() veya onStop()'a geçer. Buna karşılık, gözlüğün ekranı açıldığında veya kapandığında tahmini etkinlik yaşam döngüsü değişmez. Bu davranış, ekran kapalıyken bile tahmini etkinliğinizin Başlatıldı veya Devam Ediyor durumunda çalışmaya devam etmesini sağlar. Böylece uygulamanızın ses deneyimleri kesintisiz olarak devam eder.
Farklı sistem ve kullanıcı etkinlikleri tarafından tetiklenen diğer etkinlik durumu değişiklikleri normal şekilde çalışır.
Kullanıcı farkındalığının, öngörülen etkinliğinizi nasıl etkilediğini anlama
Kullanıcılar, görünür olmasa bile planlanan etkinliğinizden haberdar olabilir. Farkındalık, kullanıcının uygulamanızın deneyimlerini algılayıp bunlarla etkileşime geçebileceği tüm yöntemleri ifade eder. Örneğin:
- Ses, sesli geri bildirim veya diğer sesli ipuçlarını dinleme
- Uygulamanız kameraya veya mikrofona erişiyorsa gizlilik göstergesi gibi kullanıcıya yönelik bir LED'i tetikleyen uygulama işlemleri.
Bu durumlarda kullanıcı, ekrana bakmıyor olsa bile ses gözlüğünün ve ekran gözlüğünün etkin olduğunu ve yanıt verdiğini bilir:
- Planlanan etkinlikler için
onStart()durumu, etkinliğin etkin olduğu anlamına gelir. onResume()durumu, etkinliğin etkileşime girilebilir olduğu ve dokunmatik alan girişi alabileceği veya birincil giriş dağıtımı aldığı anlamına gelir.
Kullanıcı uygulamanızın farkında olduğu sürece etkinliğiniz etkin ve ön planda kalır. Sistem kısa bir süre boyunca farkındalık sinyali algılamazsa etkinliği ön plandan kaldırır ve sonunda onStop() tetikler.
Öngörülen etkinlikleri ve öngörülen bağlamları anlama
Ses gözlükleri ve ekran gözlükleri, kullanıcının telefonunun özelliklerini genişleten bağlı bir cihaz olarak kabul edilir. Yansıtılan bağlam, cihazdan haberdar bir Context olup uygulamaların, telefonun donanımı yerine bağlı bir gözlük cihazındaki donanımla (ör. sensörler, kamera veya mikrofon) etkileşim kurmasına olanak tanır. Ses gözlükleri ve ekranlı gözlükler için deneyimler geliştirirken uygulamanız, gözlüğün donanımına erişmek için yansıtılan bir bağlam kullanmalıdır.
Arama etkinliğinin bağlamına bağlı olarak uygulamanıza otomatik olarak tahmini bağlam verilebilir:
Öngörülen etkinlikler için: Uygulamanızın kodu öngörülen etkinliğinizin içinden çalışıyorsa kendi etkinlik bağlamı zaten öngörülen bir bağlamdır. Bu senaryoda, etkinlik içinde yapılan aramalar gözlüğün donanımına erişebilir.
Telefon uygulamaları veya hizmetleri için: Uygulamanızın, planlanan etkinliğinizin (ör. telefon etkinliği veya hizmet) dışında kalan bir bölümünün gözlüğün donanımına erişmesi gerekiyorsa açıkça planlanan bir bağlam elde etmesi gerekir. Bunu yapmak için
createProjectedDeviceContext()yöntemini kullanın.
Daha fazla bilgi için Ses gözlüklerindeki ve ekran gözlüklerindeki donanımlara erişmek için yansıtılan bağlamı kullanma başlıklı makaleyi inceleyin.
Cihaz duyarlı API'leri anlama
Bazı standart Android API'leri, çağıran etkinliğin Context değerine bağlı olarak hangi cihazın donanımına erişeceklerini değiştirir. Bu API'ler, tahmini bir bağlam aldığında ana makine telefon cihazındaki donanım yerine gözlüğün donanımına erişir:
CameraManager: Gözlükteki kameraya erişir.SensorManager: Gözlükten sensör verilerini (ör. jiroskop veya ivme ölçer verileri) alır.AudioManager: Gözlükteki ses akışlarını, ses düzeyini ve yönlendirmeyi yönetir.AudioRecord: Gözlüğün mikrofonunu kullanarak ses kaydeder.