Android'te farklı API seviyeleri için uygulama geliştirirken bazı özelliklerin eski sürümlerde olmadığını fark etmişsinizdir. İşte bu noktada devreye Support Library yani Destekleme Kütüphanesi devreye girer. Android destekleme kütüphanesi, Andorid API'lerinin geriye dönük uyumluluğunu sağlayan bir takım kod kütüphanerinden oluşur. Her destekleme kütüphanesi belli Android API seviyesi için geriye dönük uyumluluk sağlar.
Geliştirdiğiniz projeye Android Destekleme Kütüphaneleri'ni nasıl kuracağınız, kullanmayı istediğiniz özelliklere ve destek vermek istediğiniz Android sürüm yelpazesinin genişliğine bağlıdır.
Bu eğitim içeriği Destekleme Kütüphanesi (Support Library) paketinin indirilmesinden projeye eklenmesine kadar olan kısımlarda size rehberlik edecektir:
- Destekleme Kütüphanesi'nin (Support Library) indirilmesi
- Destekleme Kütüphanesi'nin seçimi
- Destekleme Kütüphaneleri'nin eklenmesi
- Destekleme Kütüphanesi API'lerinin kullanımı
- Kod Örnekleri
Destekleme Kütüphaneleri'nin (Support Library) indirilmesi
Android Destekleme Kütüphanesi paketi Android SDK'ya ek olarak sunulur ve Android SDK Yönetici (Android SDK Manager) aracılığıyla ulaşılabilir. Destekleme Kütüphanesi dosyalarını edinmek için aşağıdaki talimatları takip edin:
- Android SDK Manager'ı açın.
- SDK Manager penceresindeyken listeyi aşağı kaydırın ve Extrac dizinine gelin.
- Android Support Repository öğesini seçin.
- Sağ alttaki Install Packages... düğmesine tıklayın.
Resim 1: Android SDK Manager ve seçili Android Support Library öğesi.
Kütüphane dosyaları Android SDK dizininin olduğu yere inecektir. SDK dizininizin altındaki /extras/android/support/ dizininde bulabilirsiniz.
Destekleme Kütüphaneleri'nin seçimi
Bir destekleme kütüphanesini uygulamanıza eklemeden önce hangi özellikleri uygulamanıza eklemek istediğinize ve destekleyeceğiniz en düşük Android sürümünün ne olacağına karar vermelisiniz. Farklı destekleme kütüphanelerinin sağladığı özellikler hakkında daha fazla bilgi almak için Destekleme Kütüphanesi Özellikleri (Support Library Features) belgesine bakınız.
Destekleme Kütüphaneleri'nin eklenmesi
Bir Destekleme Kütüphanesi'ni kullanmak için projenizin CLASSPATH bağımlılıklarını ona uygun düzeltmeniz gerekir. CLASSPATH bağımlılıkları, projenizin doğru geliştirilmesi, derlenmesi ve çalıştırılması için gerekli bağımlılıklara ilişkin bilgileri tutar. Bu işlemi kullanmak istediğiniz her Destekleme Kütüphanesi için gerçekleştirmeniz de gerekiyor.
Bazı destekleme kütüphaneleri derlenmiş kod sınıflarının ötesinde resimler ve XML dosyaları gibi kaynakları (resource) da içerir. Örneğin v7 appcompat ve v7 gridlayout kütüphaneleri ek kaynakları da içerir.
Eğer bir kütüphanenin kaynak (resource) içerdiğinden emin değilseniz Destekleme Kütüphanesi Özellikleri sayfasına bakınız. Sıradaki bölümler kaynaklarla veya kaynaklar olmadan destekleme kütüphanesini projenize nasıl ekleyeceğinizi açıklıyor.
Kütüphanelerin ek kaynaklar (resources) olmadan eklenmesi
- Android SDK Manager kullanarak Android Support Repository'yi indirdiğinizden emin olun.
- Uygulamanızın build.gradle dosyasını açın.
- dependencies bölümüne destekleme kütüphanesini ekleyin. Örneğin "v4 support" kütüphanesini eklemek için şu satırları ekleyebilirsiniz:
dependencies { ... compile "com.android.support:support-v4:20.0.+" }
Kütüphanelerin ek kaynaklarıyla birlikte eklenmesi
Bir destek kütüphanesini uygulamanıza kaynaklarıyla beraber (örneğin Action Bar için v7 appcompat gibi) eklemek için şunları yapabilirsiniz:
- Android SDK Manager kullanarak Android Support Repository'yi indirdiğinizden emin olun.
- Uygulamanızın build.gradle dosyasını açın.
- dependencies bölümüne destekleme kütüphanesi ile ilgili ibareyi ekleyin. Örneğin appcompat projesini dahil etmek için compile "com.android.support:appcompat-v7:18.0.+" satırını ekleyin:
dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" }
Destekleme Kütüphanesi API'lerinin kullanımı
Destekleme Kütüphanesinin mevcut Android framework API'leri için destek sağlayan sınıflarının, framework sınıflarına benzeyen tipik isimleri vardır fakat android.support paketinde yer alırlar veya *Compat son ekiyle isimlendirilmişlerdir.
Uyarı: Destekleme kütüphanesinden sınıflarla çalıştığınızda doğru paketten doğru sınıfı import ettiğinizden emin olmalısınız. Örneğin ActionBar sınıfı üzerinde çalışırken:
- Destekleme kütüphanesi kullanıyorken android.support.v7.app.ActionBar
- API 11 ve üst sürümleri için geliştiriyorken android.app.ActionBar
sınıflarını import ettiğinizden emin olmalısınız.
NOT: Uygulama projenize destekleme kütüphanesini dahil ettikten sonra, uygulamanızın APK dosyasını yayıma (release) hazırlayan ProGuard isimli aracı kullanmanızı ısrarla öneriyoruz. Kaynak kodunuzu koruma işlevine ek olarak ProGuard, uygulamanıza eklediğiniz her kütüphanedeki kullanılmayan sınıfları kaldırır ve bu sayede uygulamanızın indirme boyutunu mümkün olduğu kadar küçültür. Daha fazla bilgi için ProGuard belgelerine bakınız.
Manifest dosyasındaki ilan (Declaration) değişiklikleri
Uygulamanızın geriye dönük uyumluluğunu destekleme kütüphanesi kullanarak artırıyorsanız, uygulamanızın manifest dosyasını da güncellediğinizden emin olmalısınız. Özellikle <uses-sdk> etiketinin android:minSdkVersion elementini güncellemelisiniz. Örneğin:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="20" />
Bu değişiklik Google Play Store'a uygulamanızın Android 2.1 (API 7) ve üstü Android sürümü kurulu cihazlara kurulabileceğini söyler.
NOT: Eğer v4 support ve v7 appcompat kütüphanelerini uygulamanıza dahil ediyorsanız minimum SDK sürümünü "7" olarak ("4" değil) tanımlamalısınız. Uygulamanıza eklediğiniz en yüksek destekleme kütüphanesinin seviyesi, üzerinde çalışabileceği en düşük API sürümünü belirler.
Kod örnekleri
Her destekleme kütüphanesi destek API'lerini kolaylıkla kullanmaya başlayabilesiniz diye kod örnekleri içerir. Bu kodlar SDK Manager'dan indirdiğiniz paketin içinde yer alır ve Android SDK kurulum dizininde bulunurlar:
- 4. sürüm için örnekler: /extras/android/support/samples/Support4Demos/
- 7. sürüm için örnekler: /extras/android/support/samples/Support7Demos/
- 13. sürüm için örnekler: /extras/android/support/samples/Support4Demos/
- App Navigation örnekleri: /extras/android/support/samples/SupportAppNavigation/
Bu sayfadaki parçalar Android Open Source Project kapsamında oluşturulmuş ve paylaşılmış içeriğin küçük değişiklikler yapılmış hâlidir ve Creative Commons 2.5 Attribution License'ta belirlenen koşullara göre kullanılmıştır.
Bu eğitim içeriğinin orijinal hâline buradan ulaşabilirsiniz: Support Library Setup