Bir android uygulaması tasarlarken işin başında en çok takılınan nokta SDK seçimi ve uygulamamızın hangi android sürümlerinde çalışacağıdır. Minimum SDK Version ve Target SDK Version adında iki farklı terim karşımıza çıkmaktadır bu noktada. Hemen bunları biraz açalım.
Minimum SDK Version Uygulamamızın çalışacağı, uygulama özelliklerini destekleyen en alt android sürümünü bu kısımda belirlememiz gerekli. Örneğin uygulamamız içerisinde öyle bir özellik var ki bu özellik android 2.3 sürümlerinde ortaya çıkmış bir özellik olsun. Bu uygulamayı android 2.2 sürümlerinden herhangi bir telefonda çalıştırmamız beklenemez. O yüzden uygulamamızın yapacağı işleri ve bu işleri yapabilecek özelliklere sahip minimum android sürümünü iyi seçmemiz gerekli.
Target SDK Version Bu terim ise uygulamamızın güncel olarak hangi sürümlerde çalışacağını belirleyendir. Örneğin şuan en güncel sürüm android jelly bean 4.1.1 sürümüdür. Uygulamamızı yaparken target sdk olarak 4.1.1 i seçmemiz gerekir ki uygulamamız güncelliğini koruyabilsin. Her çıkan yeni sürümde target sdk yi güncelleyip uygulamamızı buna göre tekrar build etmeliyiz. Zamanla yeni çıkan android versiyonlarının getireceği bazı özellikler olabilir. Bu özellikleri uygulamamıza dahil etmek istiyorsak minimum sdk yi de buna göre tekrardan belirlememiz gerekecektir.
Minimum SDK ve Target SDK in ne olduğu hakkında bir ön bilgi verdim sizlere. Peki neye göre seçeceğiz bu SDK leri ?
Her yeni çıkan android versiyonundan önce o versiyona ait SDK yayınlanır ki uygulama geliştiriciler uygulamalarını yeni android versiyonunda çalışacak şekilde güncelleyebilsinler.
Bir geliştirici olarak yeni çıkacak android versiyonlarını telefon sahiplerinden daha çok takip etmeniz gerekli. Basit bir örnek vermek gerekirse bir uygulama yazdık ve minimum sdk yı 2.3 , target sdk yı de 4.0 belirledik diyelim. Dikkat etmemiz gereken nokta şu, yazacağımız uygulamayı her iki platformda hatasız bir şekilde yüretebilecek mi ?
Örneğin android 4.0 sürümlerine kadar veri alışverişi (internet üzerinden ya da herhangi uzun sürecek bir işlem) direk uygulamanın ana thread'inde yapılabiliyordu. Ama android 4.0 dan sonra uzun sürecek işlemleri arka planda yapmamız gerekiyor. Çünkü android sistemi bir uygulama 5 saniye boyunca tepkisiz kaldığı zaman şu meşhur "Kapatmaya zorla" hatasını veriyor. Bu hatayı almamak için uzun sürecek işlemleri arka planda yani asynctask denilen yapı içerisinde gerçekleştirmek gerekiyor. Bu arka plan işlemi yapılırkende kullanıcıyı bilgilendirmek için "Yükleniyor..." tarzı bir progress dialog gösterebiliyoruz ki kullanıcı da arka planda bir işlem yapıldığını anlayabilsin.
Bu yukarıda yazmış olduğum sadece basit bir senaryoydu. Buna benzer durumlarda SDK seçimini ve hangi android versiyonunun hangi özellikleri desteklediğini iyi araştırmak gerekli. Uygulamayı yazmak mesele değil, ön hazırlığını ve alt yapısını oluşturmak asıl mesele.
SDK ler paylaşılırken iki sürüm olarak paylaşılır, birincisi normal android sdk diğeri ise google'ın destek verdiği sdk dir. Bu iki SDK arasında temelde bir fark yoktur. Fark şudur, örneğin uygulamanızın içinde Google Maps kullanacaksınız ve harita üzerinde konum göstereceksiniz. İşte bu noktada normal android SDK değil Google destekli SDK yi kullanmanız gerekiyor. Çünkü map bileşenlerini hali hazırda Google'ın SDK yi destekliyor.
Bu gibi küçük ama önemli detayları atlamamak gerekli.
Son olarak Minimum SDK ve Target SDK yi android manifest dosyası içinde güncelleyip değiştirebilirsiniz. Örnek olarak şu şekilde bulunur ;
[Seç][/url]<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15"/>
Buradaki 10 ve 15 gibi sayılar SDK in yanında yazan build rakamlarıdır. SDK sürümü belirtilirken bu sayılar ile belirtilir ve güncellenir.
Yazı tamamen bana aittir paylaşırken kaynak belirtirseniz sevinirim.
Herkese kolay gelsin
Kaynak: http://blog.melihmucuk.com/android-programlama-sdk-secimi/ (http://blog.melihmucuk.com/android-programlama-sdk-secimi/)