Android'de Jetpack Glance API ile Widget Oluşturma

Bu mobide Jetpack Glance API'yi ve Jetpack Glance ile uygulamanıza nasıl widget ekleyebileceğinizi öğreneceksiniz.


Görsel Referansı


Jetpack Glance API Nedir?


Jetpack Glance API, uygulamalarınıza widget eklemeyi daha hızlı ve daha kolay hale getirmek için tasarlanan bir framework'tür. Compose Runtime’ı üzerine inşa edilmiştir.

Jetpack Glance, widget oluşturabilmek için temel bir Composable seti sağlar ve mevcut App Widget API'lerini kullanarak bunları otomatik olarak RemoteViews'e dönüştürür.


Bahsedildiği üzere Glance kendi Composable setini kullanır yani varsayılan Jetpack Compose kütüphanesi ile uyumlu değildir.Bunun sebebi Glance Composable’ları Remote Views’e dönüştürür ancak her Jetpack Compose bileşeni bunu desteklememektedir. Dolayısıyla Glance ile widget tasarlarken kullandığınız arayüz bileşenlerinin androidx.glance.* paketinde bulunması gerektiğini unutmamalısınız. Eğer Glance kütüphanesine ait olmayan bir arayüz bileşeni kullanıyorsanız aşağıdaki gibi bir hata ile karşılaşacaksınız.



Glance kullanırken bir diğer dikkat etmeniz gereken nokta ise recomposition işleminin Jetpack Compose’dan farklı olmasıdır. Glance uzun süreli işlemleri desteklememektedir. Örneğin Composable içerisinde Flow kullanarak bir state akışını gözlemleyip state değiştiğinde recomposition işlemi yapmak mümkün değildir.


Verileri güncel halde tutmanın en iyi yolu ise widget'in kullandığı verilerin değiştiği sırada widget'i güncellenmesi için manuel olarak tetiklemektir.


Glance’in Avantajları


Glance tarafından desteklenen arayüz bileşenleri şunlardır:

  • Box

  • Row

  • Column

  • Image

  • Spacer


GlanceModifier: Composable fonksiyonlarında kullanacağınız modifier nesnesidir.

Kullanıcı etkileşimlerini yönetebilmek için geliştiricilere sağlanan önceden tanımlı bazı action’lar sunar.


actionStartActivity: Activity başlatmak için kullanılan action’dır.


actionRunCallback: Uygulama ihtiyacına göre özel işlem yapabileceğiniz action’dır.