Android Jetpack-Slices Nedir? Nasıl Kullanılır?-Kotlin

Furkan Aşkın
GDGIstanbul
Published in
3 min readNov 29, 2018

Android 9 Pie

Android Pie ile birlikte yapay zekanın da yardımıyla akıllı telefonlarınız daha akıllı, daha basit ve kullanıcılar için daha kişiselleştirilmiş bir deneyim sunmak için tasarlandı.

Bu yazımda sizlere kullanıcı deneyimini daha ileri taşıyacak olan Android Actions(Uygulama Aksiyonları) ve Android Slices(Uygulama Dilimleri)’dan bahsedeceğim.

Android Actions ve Android Slices

Android Jetpack-Slices

Slices, söz konusu uygulamayı açmanıza gerek kalmadan uygulamanızda ki içeriği Google Arama uygulamasından veya Google Asistan gibi diğer uygulamalardan uygulamanıza ait içerikleri/bilgileri görüntüleyebilen UI bileşenidir. Basit Slices’ın yanına Android Action’ları ekleyerek başarılı bir içerik sunabilirsiniz. Yukarıdaki görsel, Google I/O 2018 açılış konuşması sırasında gösterildi. Örneğe bakacak olursak, ev ve iş yerine olan uzaklık,en yakın sürücü bilgilerini sunan basit Lyft aramasıydı.

Sonuç olarak, Slices şu gibi özelliklere sahiptir.

  • Tasarım:Uygulama temanıza uyum sağlayacak, esnek, dinamik, zengin içerikli Slices oluşturabilirsiniz.
  • İnteraktif: Farklı aksiyonlar kullanarak interaktif Slice’lar oluşturabilirsiniz.Örnek vermek gerekirse, verileri güncelleyebilir veya UI değişikliği yapabilirsiniz.
  • Güncellenebilir: Slices’ı farklı yerlerden güncellemek oldukça basit. Şu an, Google Arama çubuğu için desteklenir durumda. Ancak ilerleyen zamanlarda Google Asistan veya diğer Android uygulamalarını destekleyeceğini de belirtmek isterim.
  • Kapsayıcı: Son olarak Slices’ın Kitkat/API 19 üzeri tüm cihazları kapsadığını söylemek gerekiyor.

Slices Mimarisi

Android Slices, Content Provider’ların üzerine inşa edilmiştir.Aslına bakarsanız; SliceProvider,Content Provider’ların bir alt sınıfıdır. Dökümantasyon için burayı tıklayabilirsiniz. Slices URI kullanarak çalışırlar. Uygulama içerisinde birden fazla Slice oluşturabilirsiniz. Bunları birbirinden ayırmak için yapmanız gereken, URI adreslerini düzenlemek olacaktır. Aşağıdaki görselde Slices Mimarisine ait yapıyı görebilirsiniz.

Android Slices(Google I/O ‘18)

Slice’lar Nasıl Oluşturulur?

  • AndroidManifest.xml de bir SliceProvider tanımlayın.
  • SlideProvider’ı implement edin.
  • onBindSlice() fonksiyonu içerisinde bir Slice oluşturun.
  • Test etmek için SliceViewer kullanın.

1- Proje oluşturma

Yeni bir proje oluşturarak başlayalım. Empty Activity olacak şekilde bir proje başlatalım ve Use AndroidX artifacts seçeneğini seçmeyi unutmayalım.

2-Gerekli dependency’ler

Build.gradle dosyasına gerekli implementation’ları yapın.(app seviyesi)

3-Bir SliceProvider oluşturun ve AndroidManifest.xml dosyasına ekleyin

SliceProvider oluşturmak için aşağıdaki yolu takip edebilirsiniz. New>Other>Slice Provider

Ardından AndroidManifest.xml’e provider’ı ekleyelim.

**Gerekli alanları kendi projenize göre düzenlemeyi unutmayın**

4-onBindSlice() içerisinde bir Slice oluşturun.

5-Test etmek için SliceViewer’ı emülator’e yükleyin.

  • Yukarıdaki adresten SliceViewer.apk uzantılı dosyayı indirin.
  • Emülatörü açın.
  • Cmd’yi açın.
  • adb install apkDosyaYolu şeklinde SliceViewer’ı emülatöre yükleyin.

Test Zamanı!

İlk olarak projenizi emülatörde çalıştırın.Ardından tekrar cmd ekranına geçin ve aşağıdaki kodu yazın. Eğer ki bir sorun yoksa sonuç şu şekilde olacak.

Örnek verecek olursak : adb shell am start -a android.intent.action.VIEW -d slice-content://com.faskn.sliceexample/hello

Dilerseniz proje kodlarına buradan erişebilirsiniz. Umarım faydalı bir yazı olmuştur, beğendiyseniz alkışlamayı unutmayın :)

--

--

Furkan Aşkın
GDGIstanbul

Android Developer @OzanSuperApp | Speaker @JuniorTalks