Ali Erhan GÜVEN

Android Available Qualifiers

  • 10 ay önce, Ali Erhan GÜVEN tarafından yazılmıştır.
  • 0 Yorum
  • Android

Android Qualifier Özelliği

Android yazılımda bu özellik ile ülke, dil, mobil hat ülke ve ağ koduna göre, ekran boyutu, yüksekliği, yatay yada dikey olmasına, ekran boyut oranına, gece moduna göre, çalışan cihaza göre, android versiyonuna göre gibi birçok ayarda farklı ekran, string, renk, boyut, icon vb birçok özelleştirme yapılabilir.

 

Country Code : Bu özellik sayesinde mobil hattın ülke koduna göre xml dosyalarında düzenleme yapabiliriz. Mobil hatların ülke kodlarını http://www.mcclist.com/mobile-network-codes-country-codes.asp adresinden bulabiliriz. Mesela Türkiye için 286 yazılması gerekirken, Fransa için 208, Almanya için 262 yazılması gereklidir. Türkiye için bir resouce dosyası oluşturulurken klasör_ismi-mcc286 gibi bir klasör oluşup o ülke koduyla alakalı dosyalar bu klasör içinde toplanır. (Örn: layout-mcc286) Bu özellik ile ülke koduna göre layout, string, color, dimens, styles ve icon gibi farklı özelleştirmeler yapılabilir. Tek başına kullanılabildiği gibi network code ilede birlikte kullanılabilir.

country code

Network Code : Bu özellik sayesinde mobil hattın ülke kodu yazması mecbur olmakla birlikte mobil hattın ülke içindeki network(ağ) koduna göre xml dosyalarında düzenleme yapabiliriz. Mobil hatların ülke ve ağ kodlarını http://www.mcclist.com/mobile-network-codes-country-codes.asp adresinden bulabiliriz. Mesela Türkiye için 286 yazılması gerekirken, Türkiye’deki Vodafone hattı için Ülke kodu 286, Ağ kodu 2 yazılması gereklidir. Türkiyedeki Vodafone hattı için bir resouce dosyası oluşturulurken klasör_ismi- mcc286-mnc002 gibi bir klasör oluşup o ülke ve ağ koduyla alakalı dosyalar bu klasör içinde toplanır. (Örn: layout-mcc286-mnc002) Bu özellik ile ülke ve ağ koduna göre layout, string, color, dimens, styles ve icon gibi farklı özelleştirmeler yapılabilir.

network_code

Locale : Locale özelliği sayesinde telefonun dil ayarlarına, dil seçimine göre o dili kullanan tüm ülkeler veya seçilen ülkelerde ekran, renk, string, stil dosyaları oluşturulabilir. Bu özellikte ister tek başına, istenilirse de başka özelliklerle beraber kullanılabilir. Örnek verecek olursak dilini Türkçe olarak kullanan cihazlar için tr, Almanca kullanan cihazlar için de seçilirken, Türkçe seçimden sonra Any Region(Tüm Ülkeler), Turkey ve Cyprus seçeneklerinden birini seçmek gereklidir. Genelde bu seçenek string resourcesinde kullanılır. Oluşturulan xml dosyası klasör_ismi-tr şeklinde oluşur. (Örn: values-tr)

locale

 

Layout Direction : Bu özellik sayesinde telefonun dikey olarak sağdan sola veya soldan sağa olarak gitmesini sağlayabiliriz. Ayarlarında sadece iki seçenek vardır. Seçeneklerden LTR soldan sağa yani normal şekilde olmasını, RTL ise sağdan sola olmasını sağlar. Adındanda anlaşılacağı gibi genelde layout özelliklerinde kullanılır ama Soldan sağa veya Sağdan sola gidecek ekranlarda yazılacak stringler, renkler vb. Ayarlarda yapılabilir. Oluşturulan xml dosyası klasör_ismi- ldltr veya klasör_ismi- ldrtl şeklinde oluşur. (Örn: layout- ldltr)

layout_direction

Smallest Screen Width : Bu özellik sayesinde cihazın sabit genişliğinin en küçük değeri belirtilerek, belirtilen ekranlarda bu hazırlamış olduğumuz ekranlarda belirlemiş olduğumuz resourcelerin kullanılmasını sağlar. Ayarlarından sadece ekran genişliğinin en azı kaç olacaksa onu yazabiliriz. Mesela bir tablet için 600 dp en küçük değerdir. Bu özellik sayesinde belli bir boyuttan büyük ekranlarda iki ekran gibi özellikler kullanılabilir. Ekranın yatay yada dikey olması bu genişlik değerini etkilemez. DP olarak değer verebiliriz. Oluşturulan xml dosyası klasör_ismi-swboyutdp şeklinde oluşur. (Örn: layout- sw300dp)

smallestscreenwidth

Screen Width, Screen Height : Bu özellik sayesinde cihazın genişliğinin ve/veya yüksekliğinin en az olması gereken değeri belirtilerek, belirtilen ekranlarda bu hazırlamış olduğumuz ekranlarda belirlemiş olduğumuz resourcelerin kullanılmasını sağlar. Ekran yön değiştirdiğinde değişen ekran genişliği ve/veya yüksekliğine göre bu ekrana geçiş sağlanabilir. Ayarlarından sadece ekran genişliğinin/yüksekliğinin en az kaç olacaksa onu yazabiliriz. Mesela bir tablet için 600 dp en küçük değerdir. Bu özellik sayesinde belli bir boyuttan büyük ekranlarda iki ekran gibi özellikler kullanılabilir. Ekran yatay yada dikey pozisyonda iken genişlik ve yükseklik değeri değişir. Diğer özelliklerde olduğu gibi bu özellikleride ister tek başına istek başka özelliklerle birlikte kullanabiliriz. DP olarak değer verebiliriz. Oluşturulan xml dosyası klasör_ismi-wboyutdp veya klasör_ismi-hboyutdp şeklinde oluşur. (Örn: layout-w300dp-h300dp)

screenwidthheight

 

Size : Bu özellik sayesinde hangi boyut ekranlarda hangi ekranların, hangi renk, string, color, style gibi özelliklerin gösterileceğini ayarlayabilmekteyiz. Seçenekler içinde Small, Normal, Large ve X-Large olmak üzere 4 farklı ekran tipi vardır. Bu ekran tiplerinin boyutunun yanı sıra ekran pixel yoğunluğuna görede farklı ekran boyutlarında farklı ekranlar çıkabilmektedir. Bu özellikte seçilen değere göre hangi ekranlarda nasıl bir tepki olacağını aşağıdaki tablodan görebilirsiniz. Özellik  Oluşturulan xml dosyası klasör_ismi-small,  klasör_ismi-large gibi şekillerde oluşur. (Örn: layout-small)

size2

size

Ratio : Bu özellik yine ekran boyutuyla alakalı bir özelliktir. Seçeneklerinde sadece geniş ve geniş olmayan seçenekleri bulunan özellik ile, geniş ekranlarda çalışacak resourceler (color, string, style, layout vb.) gibi özellikler tanımlanabilir. Ekran yönü değişmesiyle ekranın geniş yada geniş olmayan özelliği değişmez.

  • long: Long screens, such as WQVGA, WVGA, FWVGA
  • notlong: Not long screens, such as QVGA, HVGA, and VGA

Özellik  Oluşturulan xml dosyası klasör_ismi-long ve klasör_ismi-notlong şeklinde oluşur. (Örn: layout-long)

ratio

Orientation : Bu özellik sayesinde ekranın yatay yada dikey pozisyondayken çalışacak ekran ve diğer resource dosyalarının ayarlaması yapılabilir. Uygulama çalışırken ekran yönü değiştiğinde otomatik olarak bu layouta veya diğer resourcelere anlık değişim sağlanır.

  • Portrait : Cihaz dikey pozisyondayken çalışacak
  • Landspace : Cihaz yatay pozisyondayken çalışacak
  • Square : Kare ekranlarda çalışacak

Özellik  Oluşturulan xml dosyası klasör_ismi-land ve klasör_ismi-port şeklinde oluşur. (Örn: layout-land)

 

orientation


UI Mode :
Bu özellik sayesinde, uygulamanın hangi cihazlarda nasıl çalışacağını belirleyebiliriz. Saat için çok küçük bir ekran gerekirken, televizyon için çok büyük bir ekran gerekebilir. Bu özellik API 8’den sonra gelen bir özellik olup, televizyon için en az API 13 , Saat için en az API 20 gereklidir. Bu modlardan bazılarını UiModeManager kullanarak etkilenleştirip pasifleştirebiliriz.

  • Normal : Standart tablet ve telefonlarda kullanılır.
  • Car Dock : Bir araba uygulamasında kullanılır.
  • Desk Dock : Bir masaüstü platformunda kullanılır.
  • Television : Bir televizyon uygulamasında kullanılır.
  • Appliance : Herhangi bir ekranı olmayan cihazlarda kullanılır.
  • Watch : Saatlerde kullanılır.

Özellik  Oluşturulan xml dosyası klasör_ismi-car gibi oluşur. (Örn: layout-car)

uimode

Night Mode : Bu özellik sayesinde gece ve gündüz ayrımı yapabileceğiniz uygulamalar yapabilirsiniz. Mesela gece arka plan renginin koyu, yazıların beyaz olmasını isteyebilirsiniz. Bu özellik günün saatine bağlı olarak çalışır. Bir uygulama yaparken gece ve gündüz farklı ekranların görünmesini istediğimiz zamanlarda, farklı renkler göstermek veya farklı stringlerle iyi akşamlar, iyi günler dedirtmek istediğimiz zamanlarda kullanabiliriz.

  • Not Night : Gündüz çalışır
  • Night : Gece çalışır

Özellik  Oluşturulan xml dosyası klasör_ismi-night gibi oluşur. (Örn: colors-night)

nightmode

Touch Screen : Bu özellik sayesinde ekranı dokunmatik olmayan, parmakla dokunulan ve kalemle dokunulan diye ekran tipine göre farklı uygulamalar yazılabilir.

  • No Touch : Dokunmatik olmayan ekranlarda çalışacak resource
  • Stylus : Kalem ile dokunulan ekranlarda çalışacak resouce
  • Finger : Parmak ile dokunulan ekranlarda çalışacak resource

Özellik  Oluşturulan xml dosyası klasör_ismi– notouch gibi oluşur. (Örn: layout- notouch)

touchmode

Keyboard : Bu özellik klavyenin durumuna göre değişkenlik göstermesi istenilen resourceler için kullanılır. Klavye pasifse veya donanım klavyesiyse, gizliyse veya yazılımsal klavyeyse diye 3 ayrı özelliği vardır.

  • Exposed : Yazılım klavyesi Pasifse ve/veya Donanım Klavyesi varsa.
  • Hidden : Klavye gizliyse
  • Soft : Yazılım klavyesi göründüğünde

Özellik  Oluşturulan xml dosyası klasör_ismi– keyexposed gibi oluşur. (Örn: layout- keyexposed)

keyboard

Text İnput : Bu özellik ekranda görünecek klavyenin tipini belirlemek için kullanılır.

  • No Keys : Ekranda klavye görünmemesi için kullanılır.
  • Qwerty : Ekranda normal klavye görünmesi için kullanılır.
  • 12 Key : Ekranda sadece 12 tuşlu klavye görünmesi için kullanılır.

Özellik  Oluşturulan xml dosyası klasör_ismi– 12key gibi oluşur. (Örn: layout- 12key)

textinput

Navigation State ve Method : Bu özellik sayesinde genelde oyunlarda olan gezinme tuşlarını kullanıcıya gösterebilir yada gizleyebiliriz. Navigation State ile gezinme tuşlarının gizli yada görünür olmasını, Navigation Method ilede gezinme tuşunun tipini belirleyebiliriz.

  • Navigation State
    • Exposed : Gezinme tuşunun görünür olmasını sağlar.
    • Hidden : Gezinme tuşunun gizli olmasını sağlar.
  • Navigation Method
    • None : Tuş olmadan sadece dokunmatik ekranla gezinmeyi sağlar.
    • D-Pad : Yukarı, aşağı, sağa, sola gibi alanları belirleyip tıklayarak gezinebilmeyi sağlayan metotdur.
    • Trackball : Bir mouse topu gibi her yöne otomatik olarak gezinmeyi sağlayan bir metotdur.
    • Wheel : Mousenin tekeri gibi Yukarı ve aşağı gezinmeyi sağlayan bir metotdur.

navigation

Version : Bilindiği üzere her android sürümünün bir API leveli vardır. Hangi android versiyonunun API levelinin ne olduğunu aşağıdaki listeden görebilirsiniz. Eklemiş olduğumuz ekran, color, string, stil vb gibi dosyaların farklı android sürümlerinde farklı olmasını istiyorsak eğer bu özelliği kullanabiliriz. Mesela android 2.3 versiyonda ana ekranda renklerin mavi tonlarda olmasını diğer versiyonlarda yeşil tonlarda olmasını istiyorsak bir style dosyası oluşturup API leveline 9 yazarsak, android 2.3 versiyonlarında o belirlediğimiz style dosyası çalışacaktır. Aynı şekilde API leveli 9 olan bir layout dosyası oluşturup içine farklı tasarım ve farklı yazılar belirtirsek o layout sadece android 2.3 versiyonunda görünecektir. Özellik  Oluşturulan xml dosyası klasör_ismi– v9 gibi oluşur. (Örn: layout- v9)

androidversion

version