Android 3.2 API'leri

API Düzeyi: 13

Android 3.2 (HONEYCOMB_MR2), yeni özellikler ve olanaklar sağlıyor. Aşağıdaki bölümlerde genel bakış sunulmaktadır hakkında bilgi edindiniz.

Geliştiriciler, Android 3.2 platformu Android SDK için indirilebilir bileşen. İndirilebilir platform şunları içerir: Android kitaplığı ve sistem görüntüsünün yanı sıra bir dizi emülatör görünümü ve daha fazla. Android 3.2'yi kullanarak geliştirmeye veya test etmeye başlamak için Platformu SDK'nıza indirmek için Android SDK Yöneticisi'ni kullanın.

Platformda Öne Çıkanlar

Yeni kullanıcı özellikleri

  • Daha geniş bir tablet yelpazesi için optimizasyon

    Android 3.2, sistem genelinde çeşitli optimizasyonlar içerir 'u kullanıma sunuyoruz.

  • Sabit boyutlu uygulamalar için uyumluluk yakınlaştırması

    Android 3.2, yeni bir uyumluluk yakınlaştırma modu sunuyor. kullanıcılarına daha büyük cihazlarda sabit boyutlu uygulamaları görüntülemenin yeni bir yolunu sunuyor. Yeni mod, olmayan uygulamalar için standart kullanıcı arayüzü uzatmaya alternatif olarak piksel ölçekli daha büyük ekran boyutlarında (ör. tabletler) çalışacak şekilde tasarlanır. Yeni mod Google Play Store'a giriş yapmak için uyumluluk desteği.

  • SD karttan medya senkronizasyonu

    SD kartı destekleyen cihazlarda kullanıcılar artık medya dosyalarını doğrudan yükleyebilir bunları kullanan uygulamalara taşımanızı sağlar. Bir sistem özelliği, dosyaları sistem medya mağazasındaki uygulamalar tarafından erişilebilir.

Yeni geliştirici özellikleri

  • Ekran desteği yönetmek için genişletilmiş API

    Android 3.2, aşağıdakileri yapmak için platformun ekran desteği API'sine uzantılar sunuyor. geliştiricilere uygulama kullanıcı arayüzünü pek çok farklı cihazda yönetmeleri için Android destekli cihazlar. Bu API, yeni kaynak niteleyiciler ve yeni verileri nasıl etkileyebileceğinizle ilgili daha hassas kontrol uygulamalar, genelleştirilmiş veriler yerine farklı boyutlarda görüntülenir. beden kategorileri.

    Sabit boyutlu uygulamalarda ve sınırlı sayıda kullanılabilen uygulamalarda mümkün olan en iyi görüntüyü sağlamak için çeşitli ekran boyutlarını desteklemesine rağmen platform yeni bir yakınlaştırma Kullanıcı arayüzünü daha küçük ekran alanında oluşturan ve sonra ölçeklendiren uyumluluk modu kadar dolduracaktır. Daha fazla bilgi için ekran desteği API'si ve sağladığı denetimler hakkında daha fazla bilgi için aşağıdaki bölümlere bakın.

API'ye Genel Bakış

Screens Desteği API'leri

Android 3.2 size daha fazla bilgi veren API'leri destekleyen yeni ekranları ve uygulamalarının farklı ekran boyutlarında nasıl görüntüleneceğini kontrol edebilirler. API, mevcut ekran desteği API'sini temel alır. Platformun modelinizi genelleştirilmiş ekran yoğunluğu modeliyle genişletir, ancak Belirli ekran aralıklarını boyutlarına göre hedeflemeleri gerekir: yerine, yoğunluktan bağımsız piksel birimleri (ör. 600 dp veya 720 dp genişlik) genel ekran boyutlarına göre (büyük veya çok büyük gibi)

Bir uygulamanın kullanıcı arayüzünü tasarlarken, yüksek performans gösteren Bu, uygulamaların yoğunluğa göre soyutlama yapmak zorunda olmadığı anlamına gelir. arasındaki gerçek piksel yoğunluğundaki farkları telafi etmektir. Siz kullanıcı arayüzünü yatay veya dikey boyuta göre kullanılabilir alan. Platform, kullanılabilir alan adını üç yeni öğe ile ifade ediyor. özellikler: smallestWidth, width ve height.

  • Bir ekranın smallestWidth, temel minimum boyutudur. yoğunluktan bağımsız piksel ("dp") birimleriyle ölçülür. Ekranın yüksekliği veya seçildiğinde, ikisi de kısa olanıdır. Dikey yönlü bir ekran için SmallestGenişliği normalde genişliğine, yatay yönde ise yüksek bir değere sahip olmalıdır. Her durumda, en küçük genişlik, ekranda yer alır ve yön ne olursa olsun değer değişmez. En küçükGenişlik mümkün olan en kısa genişliği temsil ettiği için ekran alanları hariç, uygulama arayüzünün çizilmesi gereken öğeler ayırtılması için gereklidir.
  • Buna karşılık, bir ekranın genişliği ve yüksekliği uygulama düzeni için kullanılabilir mevcut yatay veya dikey alan, ölçülen "dp" içinde (sistem tarafından ayrılmış ekran alanları hariç) Genişlik ve Kullanıcı yatay yön arasında geçiş yaptığında ekranın yüksekliği değişiyor ve dikey.

Yeni ekranlar desteği API'si, uygulama kullanıcı arayüzünü yönetmenizi sağlamak için tasarlanmıştır geçerli ekranın en küçükGenişliği'ne göre değiştirirsiniz. Ayrıca, Kullanıcı arayüzü, gerekirse mevcut genişliğe veya yüksekliğe göre. Bu amaçlar doğrultusunda API, şu araçları sağlar:

  • Bir kullanıcı düzeyinde düzen ve diğer kaynakları hedeflemek için yeni kaynak niteleyiciler minimum genişlik, genişlik veya yükseklik ve
  • Uygulamanın maksimum değerini belirtmek için kullanılan yeni manifest özellikleri ekran uyumluluğu aralığı

Buna ek olarak, uygulamalar sistemi sorgulamaya, kullanıcı arayüzünü yönetmeye ve (platformun önceki sürümlerinde olduğu gibi) çalışma zamanında kaynak yükleme.

Yeni API, ekranları SmallestWidth aracılığıyla daha doğrudan hedeflemenize olanak tanıdığından her bir genişliği ve yüksekliği kabul etmekle üç temel cihaz bulunur. Aşağıdaki tabloda "dp" olarak ölçülen örnekler birimleridir.

Tablo 1. Yoğunluğa sahip normal cihazlar ve dp cinsinden boyut belirtin.

Tür Yoğunluk (genelleştirilmiş) Boyutlar (dp) en küçükGenişlik (dp)
Temel telefon mdpi 320x480 320
Küçük tablet/büyük telefon mdpi 480x800 480
7 inç tablet mdpi 600 x 1.024 600
10 inç tablet mdpi 800x1.280 800

Aşağıdaki bölümlerde yeni ekran niteleyiciler hakkında daha fazla bilgi verilmektedir. ve manifest özellikleri için de geçerlidir. Ekranı nasıl kullanacağınızla ilgili eksiksiz bilgi için support API, bkz. Çoklu Destekleme Ekranlar.

Ekran desteği için yeni kaynak niteleyiciler

Android 3.2'deki yeni kaynak niteleyiciler, düzenlerinizi daha iyi hedeflemenize olanak tanır. ekran boyutu aralıkları için kullanabilirsiniz. Niteleyicileri kullanarak, bir proje yöneticisinin veya belirli bir minimum genişlik, geçerli genişlik ya da yoğunluktan bağımsız piksel cinsinden ölçülen geçerli yükseklik.

Yeni niteleyiciler:

  • swNNNdp — Yayınlanacak en küçük genişlikteki kaynak kullanılmalıdır (dp "dp" cinsinden ölçülür). birimleridir. Yukarıda belirtildiği gibi, ekranın en küçükGenişliği, yönünden bağımsız olarak sabittir. Örnekler: sw320dp, sw720dp, sw720dp.
  • wNNNdp ve hNNNdp: Minimum değeri belirtir kaynağın kullanılması gereken genişlik veya yükseklik ("dp" cinsinden ölçülür) birimleridir. Farklı yukarıda belirtildiği gibi, bir ekranın genişliği ve yüksekliği ekranın ve yön değiştikçe değişir. Örnekler: w320dp, w720dp h1024dp.

Gerekirse birden fazla çakışan kaynak yapılandırması da oluşturabilirsiniz. Örneğin, bazı kaynakları 480 pikselden geniş herhangi bir ekranda kullanmak için etiketleyebilirsiniz. 600 dp'den geniş olanlar için dp, diğerleri 600 dp'den geniş boyutlar için. Zaman söz konusu ekran için uygun olan birden çok kaynak yapılandırması varsa, en yakın eşleşme olan yapılandırmayı seçer. Üzerinde hassas kontrol sağlamak için hangi kaynakların yüklendiğini görmek isterseniz, kaynakları tek bir ya da birkaç yeni veya mevcut niteleyiciyi birleştirmeniz gerekir.

Daha önce listelenen tipik boyutlara göre aşağıdaki örnekler yeni niteleyicileri kullanabilirsiniz:

res/layout/main_activity.xml   # For phones
res/layout-sw600dp/main_activity.xml   # For 7” tablets
res/layout-sw720dp/main_activity.xml   # For 10” tablets
res/layout-w600dp/main_activity.xml   # Multi-pane when enough width
res/layout-sw600dp-w720dp/main_activity.xml   # For large width

Platformun eski sürümleri yeni niteleyicileri yoksayacağından Gerektiğinde karıştırarak uygulamanızın tüm cihazlarda iyi görünmesini sağlayın. Burası Aşağıda birkaç örnek verilmiştir:

res/layout/main_activity.xml   # For phones
res/layout-xlarge/main_activity.xml   # For pre-3.2 tablets
res/layout-sw600dp/main_activity.xml   # For 3.2 and up tablets

Yeni niteleyicilerin nasıl kullanılacağıyla ilgili tüm bilgiler için Yeni niteleyicileri kullanma boyut niteleyicileri kullanın.

Ekran boyutu uyumluluğu için yeni manifest özellikleri

Çerçeve, bir dizi yeni <supports-screens> manifest özelliğini sunar. uygulamanızın farklı ekran boyutları için desteklenmesini yönetmeniz gerekir. Özellikle, uygulamanızın gösterileceği en büyük ve en küçük ekranları belirtebilirsiniz. tasarlandığı en büyük ekranın yanı sıra cihazın yeni ekranına ihtiyaç duymadan uyumluluk modundan emin olun. Yukarıda açıklanan kaynak niteleyicilerde olduğu gibi, yeni manifest özellikleri, uygulamanın desteklediği ekran aralığını belirtir ile belirtildiği gibi kullanabilirsiniz.

Ekran desteği için yeni manifest özellikleri şunlardır:

  • android:compatibleWidthLimitDp="numDp" - Bu özelliği, uygulamanın etkileneceği maksimum küçük genişlikteki ve uyumluluk moduna ihtiyaç duymadan çalışabilir. Geçerli ekran boyutu sınırından daha büyükse sistem uygulamayı normal modda görüntüler ancak kullanıcının isteğe bağlı olarak tıklayın.
  • android:largestWidthLimitDp="numDp" - Bu özelliği, uygulamanın etkileneceği maksimum küçük genişlikteki çalışacak şekilde tasarlanır. Geçerli ekran belirtilen değerden büyükse sistem, uygulamanın en iyi şekilde çalışmasını sağlamak için uygulamayı ekran uyumluluk moduna geçerli ekranda görüntüleyin.
  • android:requiresSmallestWidthDp="numDp" - Bu özelliği, uygulamanın görüntüleneceği en küçük genişlik değerini çalıştırılabilir. Mevcut ekran belirtilen değerden küçükse sistem uygulamanın cihazla uyumsuz olduğunu belirler ancak bunu engellemez yüklenmesini ve çalışmasını engeller.

Not: Google Play şu anda filtreleme özelliğini kullanmamaktadır. yukarıdaki özelliklerden herhangi birine dayalı reklamlar. Filtreleme desteği, sonraki bir platform sürümünde eklenmiştir. Şunları gerektiren uygulamalar: ekran boyutuna göre filtreleme özelliği, mevcut <supports-screens> özelliğini kullanabilir özellikleri hakkında daha fazla bilgi edinin.

Yeni özelliklerin nasıl kullanılacağıyla ilgili tüm bilgiler için bkz. ekran boyutu desteği ile ilgili daha fazla bilgi edinin.

Ekran uyumluluğu modu

Android 3.2, uygulamalar için yeni bir ekran uyumluluğu modu sağlar TV'deki kadar büyük ekranları desteklemediğini açıkça beyan ederek reklam birimi. Bu yeni "yakınlaştırma" özelliği bir piksel ölçeklidir. uygulamayı daha küçük bir ekran alanında oluşturur ve ardından pikselleri geçerli ekranı doldur.

Sistem, uygulamalar için kullanıcı seçeneği olarak ekran uyumluluk modunu varsayılan olarak sunar. gerekir. Kullanıcılar, mevcut bir denetimi kullanarak yakınlaştırma modunu açıp kapatabilir tıklayın.

Yeni ekran uyumluluk modu, söz konusu olduğunda, platform, uygulamanın manifest kullanarak bunu devre dışı bırakmasına izin verir. özellikleri hakkında daha fazla bilgi edinin. Uygulama tarafından devre dışı bırakıldığında, sistem "yakınlaştırma" özelliğini sunmuyor. uyumluluk modunu kullanabilirsiniz.

Not: Google Drive'ın nasıl çalıştığıyla ilgili Uygulamalarınızdaki uyumluluk modunu kontrol etmek için lütfen Android'deki Büyük Ekranlardaki Uygulamalar için Yeni Mod makalesini inceleyin Geliştirici Blogu.

720p televizyonlar ve benzer cihazlar için yeni ekran yoğunluğu

720p televizyonlarda veya benzeri bilgisayarlarda çalıştırılan uygulamaların Android 3.2'de yeni bir genel yoğunluk özelliği kullanıma sunuluyor. tvdpi (yaklaşık 213 dpi ile). Uygulamalar, densityDpi cinsinden yeni yoğunluk ve televizyonlar ve televizyonlar için kaynakları etiketlemek üzere yeni tvdpi niteleyicisi benzer cihazlar. Örnek:

res/drawable-tvdpi/my_icon.png   # Bitmap for tv density

Genel olarak, uygulamaların bu yoğunlukla çalışması gerekmez. Bazı durumlarda 720p ekran için çıktının gerekli olduğu yerlerde kullanıcı arayüzü öğeleri ölçeklendirilebilir otomatik olarak da oluşturabilirsiniz.

Kullanıcı arayüzü çerçevesi

  • Parçalar
    • Eyalet, yeni Fragment.SavedState sınıfında bir parça örneğinden alınan bilgiler saveFragmentInstanceState().
    • Yeni yöntem saveFragmentInstanceState() şu anki örnek durumunu kaydeder: devam eder. Bu durum daha sonra yeni bir örnek oluştururken kullanılabilir geçerli durumla eşleşen Parçanın işaretini kaldırın.
    • Yeni yöntem setInitialSavedState() bir Parçanın ilk oluşturulma sırasında kaydedilen ilk durumunu belirler.
    • Yeni onViewCreated() geri çağırma yöntemi, Parçaya onCreateView() geri döndü, ancak kayıtlı durumları Görünüm'e geri yüklenmeden önce.
    • isDetached() yöntemi, Parça, kullanıcı arayüzünden açıkça ayrılmışsa
    • Yeni attach() ve detach() yöntemleri, uygulamanın kullanıcı arayüzündeki parçaları yeniden eklemesini veya çıkarmasını sağlar.
    • Yeni bir setCustomAnimations() aşırı yükleme yöntemi, belirli animasyonları ayarlayabilmenizi sağlar giriş/çıkış işlemleri için çalıştırılacak ve özellikle de tekrar patlatılıyor. Mevcut uygulama, bir kontrol listesi oluşturun.
  • ActivityInfo ve ApplicationInfo'daki ekran boyutu bilgileri
  • WindowManager'dan görüntü boyutunu alma yardımcıları
  • Yeni herkese açık "holografik" stiller
    • Platform artık herkese açık çeşitli "holografik" bilgileri açığa çıkarıyor. stiller metin, işlem çubuğu widget'ları, sekmeler ve daha fazlası için. Görüntüleyin Tam liste için R.style.
  • LocalActivityManager, ActivityGroup ve LocalActivityManager artık kullanımdan kaldırıldı
    • Yeni uygulamalarda bu sınıflar yerine Fragments kullanılmalıdır. Alıcı: eski sürümlerinde çalışmaya devam etmek istiyorsanız v4 Desteği'ni Kitaplığı (uyumluluk kitaplığı), Android SDK'da kullanılabilir. v4 Desteği Kitaplık, Fragment API'nin aşağıdaki sürümlerle uyumlu olan bir sürümünü sunar: Android 1.6 (API düzeyi 4).
    • Android 3.0 (API düzeyi) sürümüne göre geliştirme yapan uygulamalar için 11) veya daha yüksek bir düzeyde, sekmeler genellikle kullanıcı arayüzünde yeni ActionBar.newTab() ve ilgili API'ler sekmeleri işlem çubuğu alanına yerleştirmek için kullanılabilir.

Medya çerçevesi

  • Platformun medya sağlayıcısını (MediaStore) kullanan uygulamalar artık medya verilerini doğrudan SD kart (cihaz tarafından desteklendiği durumlarda). Uygulamalar ayrıca şunları da yapabilir: SD kart dosyalarıyla, MTP API'sını kullanarak doğrudan etkileşimde bulunurlar.

Grafik

IME çerçevesi

  • Şunun için yeni getModifiers() yöntemi: değiştirici tuşlarının mevcut durumunu geri alamazsınız.

USB çerçevesi

  • Şunun için yeni getRawDescriptors() yöntemi: cihazın ham USB tanımlayıcılarını alma. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için doğrudan daha yüksek düzeydeki desteklenmeyen tanımlayıcılara erişme yöntemini daha fazla bilgi edineceksiniz.

Telefon Hizmeti

Temel yardımcı programlar

Yeni özellik sabitleri

Platform, bildirebileceğiniz yeni donanım özelliği sabitleri ekler Google gibi harici tüzel kişileri bilgilendirmek amacıyla Gerekli donanım ve yazılım özelliklerinin Play'de oynanması. Siz bunları beyan edin ve <uses-feature> manifest öğelerindeki diğer özellik sabitleri için geçerlidir.

Google Play, uygulamaların yalnızca gereksinimlerinin karşılandığı cihazlarda kullanılabilmesini sağlamak için uygulamaları <uses-feature> özelliklerine göre filtreler.

  • Yatay veya dikey gereksinimler için özellik sabitleri

    Android 3.2, uygulamaların yatay yönde mi, dikey yönde mi yoksa her iki yönde mi görüntüleme gerektirdiklerini belirtmelerini sağlayan yeni özellik sabitleri sunuyor. Bu sabit değerlerin bildirilmesi, uygulamanın, ilgili yönü sunmayan bir cihaza yüklenmemesi gerektiği anlamına gelir. Bunun aksine, sabit değerlerden biri veya her ikisi de bildirilmezse uygulamanın, bildirilmeyen yönler için bir tercihi olmadığını ve bu yönleri sunmayan bir cihaza yüklenebileceğini belirtir.

    Hem yatay hem de dikey yönlerde düzgün çalışan tipik bir uygulamanın normalde yön şartı beyan etmesi gerekmez. Daha ziyade, tek bir yön için tasarlanmış bir uygulama (ör. televizyon için tasarlanmış bir uygulama), belirli bir yönü sağlamayan cihazlarda kullanılamamasını sağlamak için sabit değerlerden birini beyan edebilir.

    Manifest isteğinde belirtilen etkinliklerden herhangi biri belirli bir yönde gerçekleştiriliyorsa android:screenOrientation özelliği kullanılarak; bu işlem, uygulamanın bu yönün kullanılmasını gerektirir.

  • Diğer özellik sabitleri

API Farkları Raporu

Android 3.2'deki (API) tüm API değişikliklerinin ayrıntılı görünümü için Seviye 13) API'sine bakın. Farklılıklar Raporu.

API Düzeyi

Android 3.2 platformu, çerçeve API'si. Android 3.2 API bir tam sayı tanımlayıcısına atanır — 13: yani sistemde depolanır. "API Düzeyi" adı verilen bu tanımlayıcı, sistemiyle uyumlu olup olmadığını doğru şekilde belirlemek amacıyla kullanılabilir. sisteme yükleyin.

Android 3.2'de kullanıma sunulan API'leri uygulamanızda kullanmak için uygulamayı, verilen Android kitaplığına göre derlemeniz gerekir Android 3.2 SDK platformu. İhtiyaçlarınıza bağlı olarak, şunu yapabilir: bir android:minSdkVersion="13" eklemeniz de gerekiyor özelliğinin <uses-sdk> öğesine manifest'ini kullanabilirsiniz.

Daha fazla bilgi için API nedir? Düzey mi?