Android App Development
Android’de Uygulama Kısayolları
Şubat 14, 2022
Apple, iPhone 6s ve iPhone 6s Plus’ın piyasaya sürülmesiyle birlikte cihazlarına 3D Touch özelliğini dahil etti. (2015)
Bu fonksiyon, hızlı eylemler aracılığıyla çeşitli aktiviteleri anında gerçekleştirmenizi sağlayan Haptic Touch ile değiştirildi. Tipik görevleri yapmak için bir uygulamayı başlatmanıza gerek yoktur. Örneğin bir selfie çekmek istiyorsanız, Kamera uygulamasını açmanıza gerek kalmaz. Kamera uygulamasına basit bir dokunuşla doğrudan selfie çekebilir veya Haritalar uygulamasında, doğrudan Ana Ekranınızdan varış noktanızı işaretleyebilir veya konumunuzu kolayca gönderebilirsiniz.
Bu yazıda, hesaplarınızı açan, son transferleri, döviz işlemlerini ve diyelim ki bankanızın yakındaki şubelerini gören basit bir bankacılık Android uygulaması oluşturacağız ve buna statik “Uygulama Kısayolları” (App Shortcuts) ekleyeceğiz. Uygulama kısayollarının dinamik yapıda olduğunu, bunları ekleyebileceğinizi, kaldırabileceğinizi ve düzenleyebileceğinizi unutmayın.
Uygulama Kısayollarını Kurma
AndroidManifest.xml dosyanızdaki launcher (başlatıcı) aktivitesine bazı bilgiler eklemek, kısayollarınızı uygulamanın ilk ve en önemli adımıdır.
Biz örneğimizde, “SplashActivity” launcher aktivitesine android.app.shortcuts ad özniteliği (name attribute) ve kaynak (xml/splash_shortcuts) ile <meta-data> etiketini ekledik:

AndroidManifest dosyasında gösterildiği gibi uygulamamız SplashActivity’yi içeriyor ve kısayollar aracılığıyla NearByBranchesActivity, AccountsActivity, CurrencyTransactionsActivity ve LatestTransfersActivity aktivitelerine geçiş yapacağız.
Yukarıdaki manifest dosyasından da açıkça anlaşılacağı üzere,
res > xmlklasörünü oluşturmalı vesplash_shortcuts.xmldosyasını eklemeliyiz.

Her bir <shortcut> elementi; ikonu, açıklaması için etiketleri ve uygulama içinde başlattığı intent’ler gibi statik bir kısayol hakkında bilgiler sağlar; en az bir tane <intent> elementi içermelidir.
Statik bir kısayolun içindeki çeşitli özelliklerin açıklamaları aşağıda listelenmiştir. android:shortcutId ve android:shortcutShortLabel için bir değer vermeniz zorunludur. Parametrelerin geri kalanı isteğe bağlıdır.
- shortcutId: Bir ShortcutManager nesnesi üzerinde eylemler gerçekleştirdiğinde, kısayolu temsil eden bir string ifadesi döndürür.
- enabled: Kullanıcının kısayol ile etkileşime girip giremeyeceğini tanımlar. Eğer false ise, kısayolun neden devre dışı bırakıldığını açıklamak için
shortcutDisabledMessageözelliği ayarlanmalıdır. - icon: Görüntülenecek ikonu tanımlar, renk tonlamaları (tints) içeremez.
- shortcutShortLabel: Kullanıcıya gösterilecek ve kısayolun adını içerecek olan cümle. Maksimum 10 karakterle sınırlı tutmanız önerilir.
- shortcutLongLabel: Kendinizi 25 karakterle sınırlamanız önerilir.
- shortcutDisabledMessage: Kullanıcı devre dışı bırakılmış bir kısayola tıkladığında görüntülenir.
Kısayol özniteliklerinin özelliklerini https://developer.android.com/guide/topics/ui/shortcuts adresinden de takip edebilirsiniz.
Son olarak, bu intent verilerini diğer aktivitelerden ele almalısınız (handle). Kodlarımdan aşağıda verildiği gibi kısayolları depolamak için ShortcutUtil veya Shortcut enum yapısı oluşturmanızı önerebilirim (burada istenen ekranın kısayolunu depolamak için ShortcutUtil sınıfını tercih ediyorum):

Bundan sonra, bu shortcut util yapılarını şu şekilde ele almalısınız;

Ancak burada verilerimiz intent.dataString ifademizi temsil ediyor.
Şimdi size uygulamamızın nasıl olacağını gösterebilirim;

Yazar: Erdi Koç