29 Eylül 2016 Perşembe

Android Dersleri -5-

Farklı Cihazlarda Destek

Android cihazlar bütün dünyada çok fazla şekil ve boyutları içermektedir.Başarılı Android uygulamaları geliştirmek için farklı cihaz ayarlarına adapte edilmesi gerekmektedir.Farklı diller, ekran boyutları ve versiyonları dikkate almanız gerekmektedir.

 

Farklı Diller Desteği

En iyi yöntem farklı diller için farklı dosyalarda tutumak
MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml
English (default locale), /values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="title">My Application</string>

    <string name="hello_world">Hello World!</string>

</resources>
Spanish, /values-es/strings.xml:
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="title">Mi Aplicación</string>

    <string name="hello_world">Hola Mundo!</string>

</resources>
French, /values-fr/strings.xml:
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="title">Mon Application</string>

    <string name="hello_world">Bonjour le monde !</string>

</resources>

Farklı Ekranlarda Destek

Android, aygıt ekranları  iki genel özelliklerini kullanarak sınıflandırır: büyüklüğü ve yoğunluğu
·         Dört genelleştirilmiş boyutları vardır : small, normal, large, xlarge
·         Ve dört genelleştirilmiş yoğunlukları: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)
Farklı layout ve farklı bitmap tanımlamak için ayrı dizinlerde bu alternatif kaynakların yerleştirmeniz gerekir.

Farklı Layouts Ekleme
Farklı ekran boyutları üzerinde kullanıcı deneyimini optimize etmek için, desteklemek istediğiniz her ekran boyutu için benzersiz bir düzen XML dosyası oluşturmanız gerekir.
MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml
Dosya adları aynı olmalıdır, ancak içerikleri ilgili ekran boyutu için optimize edilmiş bir kullanıcı arayüzü sağlamak için farklıdır.
@Override

 protected void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     setContentView(R.layout.main);

}
Eğer büyük ekranlarda özel bir düzen sağlamak istiyorsanız, o zaman hem large ve hem de land qualifier kullanmanız gerekir.
MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml
Farklı Bitmaps

her zaman düzgün genelleştirilmiş yoğunluk kovalar her ölçeklendirilir bitmap kaynakları sağlamalıdır: low, medium, high and extra-high density. 
Bu tüm ekran yoğunlukları iyi grafik kalitesi ve performansı elde etmesine yardımcı olur.
MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png

Farklı Platform Versiyon Desteği      

Her zaman düzgün genelleştirilmiş yoğunluk kovalar her ölçeklendirilir bitmap kaynakları sağlamalıdır: low, medium, high and extra-high density. 
Android'in son sürümleri genellikle app için büyük API'leri sağlarken, daha fazla cihaz güncellenecektir kadar Android'in eski sürümlerini desteklemeye devam etmelidir. Bu ders aynı zamanda eski sürümlerini desteklemeye devam ederken son API'leri için nasıl yararlanacağını gösterir.

 

En düşük ve hedef API Seviyeleri belirtin

 AndroidManifest.xml dosyası uygulama ilgili ayrıntıları açıklar ve desteklediği Android hangi sürümleri tanımlar

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >

    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />

    ...

</manifest>

Runtime Sistem Versiyonu Kontrol Etmek

Android Derlemesi sabitleri sınıfta her platform sürümü için benzersiz bir kod sağlar. Bu API'ler sistemde mevcuttur sadece çalıştırılan yüksek API seviyelerine bağlıdır kod sağlamak koşulları oluşturmak için uygulaması içinde bu kodları kullanın.

private void setUpActionBar() {

    // Make sure we're running on Honeycomb or higher to use ActionBar APIs

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

        ActionBar actionBar = getActionBar();

        actionBar.setDisplayHomeAsUpEnabled(true);

    }

}
Styles ve Temalar

dialog box:
<activity android:theme="@android:style/Theme.Dialog">
transparent background:
<activity android:theme="@android:style/Theme.Translucent">
Kendi tanımladığınız temalar için /res/values/styles.xml:
<activity android:theme="@style/CustomTheme">
Bütün programa uygulamak için
<application android:theme="@style/CustomTheme">


 

Hiç yorum yok:

Yorum Gönder