Farklı yapay zeka gözlüğü türlerinin farklı özellikleri vardır. Örneğin, tüm yapay zeka gözlükleri sesli deneyimler sunarken bazı yapay zeka gözlüklerinde, uygulamanızın Jetpack Compose Glimmer ile oluşturulan kullanıcı arayüzlerini gösterebileceği bir ekran da bulunur.
Çeşitli yapay zeka gözlüğü cihazlarında 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 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
Yapay zeka 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 etkinliklerdir. Tahmini etkinliklerin yaşam döngüsü, standart etkinlik yaşam döngüsüne dayanır ancak farklı yapay zeka gözlüğü türlerinin özelliklerini destekleyen çeşitli önemli farklılıklar da içerir.
Aşağıda, önemli etkinliklerin dökümünü ve yapay zeka gözlüklerinde yapılması beklenen etkinliklere özgü etkileşimleri gösteren açıklamaları bulabilirsiniz:
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 buradan 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()- Yansıtılan etkinlik yeniden odaklandığında çağrılır. Etkinlik odaklandığında 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 farkında olmaya devam ettiğinde çağrılır. Etkinlik odak dışındayken etkileşim kurulamaz 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 baştan çı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 içinde, 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, yapay zeka gözlüğünün ekranı açıldığında veya kapandığında yansıtılan etkinlik yaşam döngüsü değişmez. Bu davranış, ekran kapalıyken bile yansıtılan etkinliğinizin Başlatıldı veya Devam Ediyor durumunda çalışmaya devam ettiği anlamına gelir. Bu sayede, uygulamanızın ses deneyimleri kesintisiz olarak devam edebilir.
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ı bir ekrana bakmıyor olsa bile yapay zeka gözlüğünün etkin ve yanıt veriyor olduğunun farkındadır:
- Planlanan etkinlikler için
onStart()durumu, etkinliğin etkin olduğunu gösterir. onResume()durumu, etkinliğin etkileşime girilebilir olduğu ve dokunmatik yüzey 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
Yapay zeka 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. Yapay zeka gözlükleri 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, söz konusu etkinlikte 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 AI gözlüklerin donanımına 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 bağlı olarak hangi cihazın donanımına erişeceklerini değiştirir. Bu API'ler bir tahmini bağlam aldığında, ana makine telefon cihazındaki donanım yerine yapay zeka gözlüğünü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.