Farklı platform sürümlerini destekleme

Android'in en son sürümleri genellikle uygulamanız için mükemmel API'ler sunsa da daha fazla cihaz güncellenene kadar Android'in eski sürümlerini desteklemeye devam etmeniz gerekir. Bu Bu ders, eski API'leri desteklemeye devam ederken en yeni API'lerden nasıl yararlanacağınızı gösterir versiyonları da var.

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, Google Play Store'u ziyaret eden cihazların sayısına göre belirlenir. Genel olarak, etkin cihazların yaklaşık% 90'ını desteklemenizi öneririz. en yeni sürüme hedeflersiniz.

İpucu: Çeşitli Android sürümlerinde en iyi özellikleri ve işlevleri sunmak için uygulamanızda Android Destek Kitaplığı'nı kullanmanız gerekir. Bu kitaplık, eski sürümlerde çeşitli yeni platform API'lerini kullanmanıza olanak tanır.

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 mevcut cihaz tarafından desteklenmeyen XML özelliklerini yoksayar. Bu sayede, yalnızca yeni sürümler tarafından desteklenen XML özelliklerini, bu koda rastladıklarında eski sürümlerin bozulacağından endişelenmeden güvenle kullanabilirsiniz. Örneğin, targetSdkVersion="11" değerini ayarlarsanız uygulamanız Android 3.0 ve sonraki sürümlerde varsayılan olarak ActionBar değerini içerir. Ardından, işlem çubuğuna menü öğeleri eklemek için menü kaynağı XML'inizde android:showAsAction="ifRoom" değerini ayarlamanız gerekir. 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, manifest dosyası içinde uygulamanıza uygulanabilir. 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">

Uygulamanızın tamamına (tüm etkinlikler) tema uygulamak için android:theme özelliğini <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.