Farklı platform sürümlerini destekleme

Android'in son sürümleri genellikle uygulamanız için harika API'ler sağlar. Ancak . Bu Bu ders, eski API'leri desteklemeye devam ederken en yeni API'lerden nasıl yararlanacağınızı gösterir versiyonları da mevcuttur.

Etkin projelerin dağılımını bulmak için Android Studio Yeni Proje sihirbazını Android'in her sürümünü çalıştıran cihazlar. Bu dağılım, satın alma işlemi gerçekleştiren ve Google Play Store'u ziyaret edin. Genel olarak, etkin cihazların yaklaşık% 90'ını desteklemenizi öneririz. en yeni sürüme hedeflersiniz.

İpucu: En iyi özellikleri sunmak ve işlevselliğini sağlamak için uygulamanızda Android Destek Kitaplığı'nı kullanmalısınız. Böylece, eski sürümlerde birkaç yeni platform API'sini kullanabilirsiniz.

Minimum ve hedef API düzeylerini belirtin

AndroidManifest.xml dosyası uygulamanızla ilgili ayrıntıları açıklıyor ve desteklediği Android sürümlerini tanımlar. Daha ayrıntılı olarak belirtmek gerekirse, minSdkVersion ve <uses-sdk> öğesi için targetSdkVersion özellikleri Uygulamanızın uyumlu olduğu en düşük API düzeyini ve kendisine göre en yüksek API düzeyini belirleme temel bilgileri ve araçları kullanabilirsiniz.

Örnek:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    ...
</manifest>

Android'in yeni sürümleri kullanıma sunuldukça bazı stiller ve davranışlar değişebilir. Uygulamanızın bu değişikliklerden yararlanmasını sağlamak ve her kullanıcının cihazına göre targetSdkVersion değerini en son Android sürümüyle eşleşecek şekilde güncelleyin. kullanılabilir.

Çalışma zamanında sistem sürümünü kontrol et

Android, Build içindeki her platform sürümü için benzersiz bir kod sağlar. sabit değerler sınıfıdır. Uygulamanızın içinde bu kodları kullanın, böylece kodun yalnızca bu API'ler sistemde kullanılabilir olduğunda yürütülür.

Kotlin

private fun setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        actionBar.setDisplayHomeAsUpEnabled(true)
    }
}

Java

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);
    }
}

Not: Android, XML kaynaklarını ayrıştırırken XML'i yoksayar. desteklenmeyen özellikler olabilir. Böylece, kullandığınız XML'in özelliklerini yalnızca yeni sürümler tarafından desteklenir ve eski sürümlerin, kodla karşılaşırsınız. Örneğin, targetSdkVersion="11", uygulamanız varsayılan olarak ActionBar içeriyor Android 3.0 ve sonraki sürümlerde kullanılabilir. Daha sonra, menü öğelerini işlem çubuğuna eklemek için, Menü kaynak XML'inizde android:showAsAction="ifRoom". Bu işlemi güvenli bir şekilde yapabilirsiniz çünkü Android'in eski sürümleri yalnızca showAsAction özellik (yani, sizin sizin res/menu-v11/ dilindedir).

Platform stillerini ve temalarını kullanın

Android, uygulamalara kullanıcı deneyimi ve kullanıcı deneyimi temalarında temel bir işletim sistemidir. Bu temalar, uygulamanıza manifest dosyası olarak kaydedin. Bu yerleşik stil ve temaları kullandığınızda uygulamanız doğal olarak her yeni sürümde Android'in en yeni görünümünü ve tarzını takip eder.

Etkinliğinizi iletişim kutusu gibi göstermek için:

<activity android:theme="@android:style/Theme.Dialog">

Etkinliğinizin şeffaf bir arka plana sahip olması için:

<activity android:theme="@android:style/Theme.Translucent">

/res/values/styles.xml içinde tanımlanan kendi özel temanızı uygulamak için:

<activity android:theme="@style/CustomTheme">

Bir temayı uygulamanızın tamamına (tüm etkinlikler) uygulamak için android:theme özelliğini ekleyin ilişkilendirmek <application> öğesine ekleyin:

<application android:theme="@style/CustomTheme">

Tema oluşturma ve kullanma hakkında daha fazla bilgi için Stiller ve Temalar kılavuzunu okuyun.