Android 14, geliştiricilere harika özellikler ve API'ler sunuyor. Aşağıdaki bilgiler, uygulamalarınızın özellikleri hakkında bilgi edinmenize ve ilgili API'leri kullanmaya başlamanıza yardımcı olur.
Eklenen, değiştirilen ve kaldırılan API'lerin ayrıntılı listesi için API karşılaştırma raporunu okuyun. Eklenen API'ler hakkında ayrıntılı bilgi için Android API referansı sayfasını ziyaret edin. Android 14 için API düzeyi 34'te eklenen API'leri arayın. Platform değişikliklerinin uygulamalarınızı etkileyebileceği alanlar hakkında bilgi edinmek isterseniz Android 14'ü hedefleyen uygulamalar ve tüm uygulamalar için Android 14 davranış değişikliklerini inceleyin.
Uluslararası hale getirme
Uygulamaya özgü dil tercihleri
Android 14, Android 13'te (API düzeyi 33) kullanıma sunulan uygulamaya özel dil özelliklerini aşağıdaki ek özelliklerle zenginleştirir:
Bir uygulamanın
localeConfig
dilini otomatik olarak oluştur: Android Studio Giraffe Canary 7 ve AGP 8.1.0-alpha07 sürümlerinden başlayarak, uygulamanızı uygulamaya özgü dil tercihlerini otomatik olarak destekleyecek şekilde yapılandırabilirsiniz. Android Gradle eklentisi, proje kaynaklarınıza bağlı olarakLocaleConfig
dosyasını oluşturur ve nihai manifest dosyasına bir referans ekler. Böylece artık dosyayı manuel olarak oluşturmanız veya güncellemeniz gerekmez. AGP,LocaleConfig
dosyasına dahil edilecek yerel ayarları belirlemek için uygulama modüllerinizinres
klasörlerindeki kaynakları ve tüm kitaplık modülü bağımlılıklarını kullanır.Bir uygulamanın
localeConfig
dinamik güncellemeleri: Cihazın sistem ayarlarında uygulamanızın desteklenen diller listesini dinamik olarak güncellemek içinLocaleManager
bölümündekisetOverrideLocaleConfig()
vegetOverrideLocaleConfig()
yöntemlerini kullanın. Desteklenen dillerin listesini bölgeye göre özelleştirmek, A/B denemeleri çalıştırmak veya uygulamanızda yerelleştirme için sunucu tarafı aktarmalar kullanılıyorsa yerel ayarların güncellenmiş listesini sağlamak için bu esnekliği kullanın.Giriş yöntemi düzenleyicileri (IME'ler) için uygulama dili görünürlüğü: IME'ler, geçerli uygulamanın dilini kontrol etmek ve IME dilini bu dille eşleştirmek için
getApplicationLocales()
yöntemini kullanabilir.
Grammatal Inflection API'si
İsimler, fiiller, sıfatlar ve edatlar gibi dil bilgisi kategorilerinin konuştuğunuz kişilerin ve nesnelerin cinsiyetine göre değiştiği dillerin sayısı 3 milyardan fazla cinsiyetle ilgili olarak konuşuyor. Geleneksel olarak birçok cinsiyete dayalı dil, varsayılan veya genel cinsiyet olarak eril dilbilgisini kullanır.
Dil bilgisi açısından yanlış cinsiyetteki kullanıcılara hitap etmek (ör. eril dil bilgisine sahip kadınlara hitap etmek), performans ve tutumlarını olumsuz yönde etkileyebilir. Öte yandan, kullanıcının dil bilgisi cinsiyetini doğru yansıtan bir dil kullanan kullanıcı arayüzü, kullanıcı etkileşimini artırabilir ve daha kişiselleştirilmiş ve doğal görünen bir kullanıcı deneyimi sunabilir.
Android 14, cinsiyet belirten dillere yönelik kullanıcı merkezli bir kullanıcı arayüzü oluşturmanıza yardımcı olmak amacıyla uygulamanızı yeniden düzenlemeye gerek kalmadan dil bilgisi için cinsiyet desteği eklemenize olanak tanıyan Grammatical Inffaction API'yi kullanıma sunar.
Bölgeye özgü tercihler
Bölgesel tercihler, kullanıcıların sıcaklık birimlerini, haftanın ilk gününü ve numaralandırma sistemlerini kişiselleştirmesine olanak tanır. ABD'de yaşayan Avrupalı sıcaklık biriminin Fahrenhayt yerine Santigrat cinsinden olmasını tercih edebilir ABD'de varsayılan gün yerine pazartesi günü kabul etmesini sağlayan uygulamalar Pazar.
Bu tercihler için yeni Android Ayarlar menüleri, kullanıcılara uygulama tercihlerini değiştirebilecekleri keşfedilebilir ve merkezi bir konum sunar. Bu tercihler, yedekleme ve geri yükleme sırasında da korunur. Çeşitli API ve
hedefler (ör.
getTemperatureUnit
ve
getFirstDayOfWeek
-
uygulamanıza kullanıcı tercihlerine okuma erişimi verebilirsiniz, böylece uygulamanız
bilgileri görüntüler. Ayrıca bir
BroadcastReceiver
açık
ACTION_LOCALE_CHANGED
kullanın.
Bu ayarları bulmak için Ayarlar uygulamasını açın ve Sistem > Diller ve giriş > Bölgesel tercihler.
Erişilebilirlik
%200'e kadar doğrusal olmayan yazı tipi ölçeklendirme
Sistem, Android 14'ten itibaren %200'e kadar yazı tipi ölçeklendirmesini destekleyerek az gören kullanıcılara Web İçeriği Erişilebilirlik Yönergeleri (WCAG) ile uyumlu ek erişilebilirlik seçenekleri sağlar.
Sistem, ekrandaki büyük metin öğelerinin çok büyük ölçeklenmesini önlemek için doğrusal olmayan bir ölçeklendirme eğrisi uygular. Bu ölçeklendirme stratejisi, büyük metinlerin daha küçük metinlerle aynı hızda ölçeklendirilmeyeceği anlamına gelir. Doğrusal olmayan yazı tipi ölçeklendirme, farklı boyutlardaki öğeler arasındaki orantısal hiyerarşinin korunmasına yardımcı olurken yüksek derecelerde doğrusal metin ölçeklendirmeyle (metinlerin kesilmesi veya çok büyük ekran boyutları nedeniyle metnin okunması zorlaşması gibi) sorunları da azaltır.
Doğrusal olmayan yazı tipi ölçeklendirme ile uygulamanızı test etme
Metin boyutlandırmasını tanımlamak için zaten ölçeklendirilmiş piksel (sp) birimleri kullanıyorsanız, bu ek seçenekler ve ölçeklendirme iyileştirmeleri uygulamanızdaki metne otomatik olarak uygulanır. Ancak, uygulamanızın yazı tipi boyutlarını doğru bir şekilde uyguladığından ve daha büyük yazı tipi boyutlarının kullanılabilirliği etkilemeden kullanabilmesini sağlamak için yine de maksimum yazı tipi boyutunu (%200) etkinleştirerek kullanıcı arayüzü testleri gerçekleştirmeniz gerekir.
Yazı tipi boyutunu% 200 etkinleştirmek için aşağıdaki adımları uygulayın:
- Ayarlar uygulamasını açın ve Erişilebilirlik > Görüntü boyutu ve metin'e gidin.
- Yazı tipi boyutu seçeneği için bu bölüme eşlik eden resimde gösterildiği gibi maksimum yazı tipi boyutu ayarı etkinleştirilene kadar artı (+) simgesine dokunun.
Metin boyutları için ölçeklendirilmiş piksel (sp) birimleri kullanma
Metin boyutlarını her zaman sp birimleri cinsinden belirtmeyi unutmayın. Uygulamanız sp birimleri kullandığında, Android kullanıcının tercih ettiği metin boyutunu uygulayabilir ve uygun şekilde ölçeklendirebilir.
Dolgu için sp birimleri kullanmayın veya örtülü dolgunun varsayıldığında görünüm yüksekliklerini tanımlamayın: Doğrusal olmayan yazı tipi ölçeklendirme sp boyutları orantılı olmayabilir. Bu nedenle 4 sp + 20 sp, 24 sp'ye eşit olmayabilir.
Ölçeklendirilmiş piksel (sp) birimlerini dönüştürme
sp birimlerinden piksele dönüştürmek için TypedValue.applyDimension()
, pikselleri sp'ye dönüştürmek için TypedValue.deriveDimension()
kullanın. Bu yöntemler, uygun doğrusal olmayan ölçeklendirme eğrisini otomatik olarak uygular.
Configuration.fontScale
veya DisplayMetrics.scaledDensity
kullanarak denklemleri tek tek girmekten kaçının. Yazı tipi ölçeklendirme doğrusal olmadığından scaledDensity
alanı artık doğru değildir. Yazı tipleri artık tek bir skaler değerle ölçeklendirilmediğinden, fontScale
alanı yalnızca bilgi amaçlı kullanılmalıdır.
lineHeight için sp birimleri kullan
android:lineHeight
öğesini her zaman dp yerine sp birimleri kullanarak tanımlayın. Böylece satır yüksekliği metninizle birlikte ölçeklenir. Aksi takdirde, metniniz sp ancak lineHeight
öğeniz dp veya px biçimindeyse ölçeklendirilmez ve sıkışık görünür.
TextView, istediğiniz oranların korunması için lineHeight
öğesini otomatik olarak düzeltir, ancak bunun için hem textSize
hem de lineHeight
sp birimlerinde tanımlanmışsa geçerlidir.
Kamera ve medya içerikleri
Resimler için Ultra HDR
Android 14'te, fotoğraf çekerken sensörden gelen bilgilerin daha fazlasını koruyan Yüksek Dinamik Aralık (HDR) resimler desteklenir. Bu da canlı renkler ve daha fazla kontrast sağlar. Android, JPEG resimlerle tamamen geriye dönük uyumlu olan Ultra HDR biçimini kullanır. Böylece, uygulamaların HDR resimlerle sorunsuz bir şekilde birlikte çalışabilmesini ve bu görüntülerin Standart Dinamik Aralık'ta (SDR) gerektiği şekilde görüntülenmesini sağlar.
Uygulamanız Etkinlik Penceresi için HDR kullanıcı arayüzünü kullanmayı seçtiğinde (manifest girişiyle veya çalışma zamanında Window.setColorMode()
çağrısı yaparak) bu görüntülerin kullanıcı arayüzünde HDR olarak oluşturulması çerçeve tarafından otomatik olarak gerçekleştirilir. Desteklenen cihazlarda sıkıştırılmış Ultra HDR hareketsiz resimler de çekebilirsiniz. Sensörden kurtarılan renk sayısı arttıkça, yayını daha esnek bir şekilde düzenleyebilirsiniz. Ultra HDR görüntülerle ilişkili Gainmap
, bu görüntüleri OpenGL veya Vulkan kullanarak oluşturmak için kullanılabilir.
Kamera uzantılarında Yakınlaştırma, Odaklanma, Postview ve daha fazlası
Android 14, kamera uzantılarını güncelleyip iyileştirerek uygulamaların daha uzun işleme sürelerini işlemesini sağlar. Böylece desteklenen cihazlarda düşük ışıkta çekim yapmak gibi bilgi işlem odaklı algoritmalar kullanılarak iyileştirilmiş resimler sunulur. Bu özellikler, kamera uzantısı özelliklerini kullanırken kullanıcılara daha güçlü bir deneyim sunar. Bu iyileştirmelerden bazıları şunlardır:
- Dinamik hâlâ yakalama işleme gecikmesi tahmini, mevcut sahne ve ortam koşullarına bağlı olarak yakalama gecikmesiyle ilgili çok daha doğru tahminler sağlar.
CameraExtensionSession.getRealtimeStillCaptureLatency()
yöntemini çağırarak iki gecikme tahmini yöntemine sahip birStillCaptureLatency
nesnesi alın.getCaptureLatency()
yöntemi,onCaptureStarted
ileonCaptureProcessStarted()
arasındaki tahmini gecikmeyi döndürür.getProcessingLatency()
yöntemi iseonCaptureProcessStarted()
ile kullanılabilir son işlenen kare arasındaki tahmini gecikmeyi döndürür. - Uygulamaların uzun süreli, hâlâ yakalama işleme işlemlerinin mevcut ilerlemesini görüntüleyebilmesi için ilerleme durumunu yakalama geri çağırma desteği. Bu özelliğin
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable
ile kullanılabilir olup olmadığını kontrol edebilir ve kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu durumda, ilerleme durumu (0'dan 100'e) parametre olarak iletilenonCaptureProcessProgressed()
geri çağırma işlemini uygulayabilirsiniz. Uzantıya özel meta veriler (ör.
EXTENSION_BOKEH
ile arka plan bulanıklaştırma miktarı gibi bir uzantı efektinin miktarını ayarlamak için)CaptureRequest.EXTENSION_STRENGTH
.Kamera uzantılarında, son görüntüye göre daha az işlenmiş bir görüntü sağlayan Fotoğraf Çekimi Sonrası özelliği. Bir uzantının işleme gecikmesi artarsa görüntüleme sonrası resmi, kullanıcı deneyimini iyileştirmek için yer tutucu olarak sağlanabilir ve son resim için daha sonra değiştirilebilir. Bu özelliğin kullanılabilir olup olmadığını
CameraExtensionCharacteristics.isPostviewAvailable
üzerinden kontrol edebilirsiniz. ArdındanExtensionSessionConfiguration.setPostviewOutputConfiguration
cihazınaOutputConfiguration
iletebilirsiniz.SurfaceView
desteği ile daha optimize edilmiş ve gücü daha verimli kullanan bir önizleme oluşturma yolu sağlanır.Uzantı kullanımı sırasında dokunarak odaklama ve yakınlaştırma desteği.
Sensör içi yakınlaştırma
CameraCharacteristics
içindeki REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
öğesinde SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
varsa uygulamanız, kırpılmış bir RAW akışına tam görüş alanıyla aynı pikselleri sağlamak için gelişmiş sensör özelliklerini kullanabilir. Bunun için, akış kullanım alanı CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
olarak ayarlanmış bir RAW hedefiyle CaptureRequest
kullanılabilir.
Güncellenen kamera, istek geçersiz kılma denetimlerini uygulayarak diğer kamera denetimleri hazır olmadan bile kullanıcılara yakınlaştırma kontrolü sağlar.
USB'de kayıpsız ses
Android 14, USB kablolu kulaklıklar üzerinden ses meraklıları seviyesindeki deneyimler için kayıpsız ses biçimlerini destekliyor. Bir USB cihazı tercih edilen mikser özellikleriyle sorgulayabilir, tercih edilen mikser özelliklerindeki değişiklikler için bir işleyici kaydedebilir ve AudioMixerAttributes
sınıfını kullanarak mikser özelliklerini yapılandırabilirsiniz. Bu sınıf; kanal maskesi, örnek hızı ve ses karıştırıcının davranışı gibi biçimini temsil eder. Sınıf; karıştırma, ses ayarı veya işleme efektleri olmadan sesin doğrudan gönderilmesine olanak tanır.
Geliştirici verimliliği ve araçları
Kimlik Bilgisi Yöneticisi
Android 14, platform API'si olarak Kimlik Bilgisi Yöneticisi'ni ekler ve Google Play Hizmetleri'ni kullanan bir Jetpack Library aracılığıyla Android 4.4 (API düzeyi 19) cihazlara yönelik ek destek sağlar. Kimlik Bilgisi Yöneticisi, kullanıcı tarafından yapılandırılmış kimlik bilgisi sağlayıcıları aracılığıyla kimlik bilgilerini alan ve depolayan API'lerle kullanıcıların oturum açmasını kolaylaştırmayı amaçlar. Kimlik Bilgisi Yöneticisi, tek bir API'de kullanıcı adı ve şifre, geçiş anahtarları ve birleşik oturum açma çözümleri gibi çoklu oturum açma yöntemlerini destekler.
Geçiş anahtarları birçok avantaj sunar. Örneğin, geçiş anahtarları endüstri standartlarına göre oluşturulur, farklı işletim sistemlerinde ve tarayıcı ekosistemlerinde çalışabilir ve hem web sitelerinde hem de uygulamalarda kullanılabilir.
Daha fazla bilgi için Kimlik Bilgisi Yöneticisi ve geçiş anahtarları belgelerine ve Kimlik Bilgisi Yöneticisi ve geçiş anahtarları hakkındaki blog yayınına bakın.
Health Connect
Health Connect, cihaz üzerinde kullanıcı sağlığı ve fitness verilerinin depolandığı bir depodur. Kullanıcıların en sevdikleri uygulamalar arasında veri paylaşmalarına olanak tanıyan bu özellik sayesinde, bu uygulamalarla paylaşmak istedikleri verileri tek bir yerden kontrol edebilirler.
Health Connect, Android 14'ten önceki Android sürümlerini çalıştıran cihazlarda Google Play Store'dan uygulama olarak indirilebilir. Android 14'ten itibaren platformun bir parçası olan Health Connect, Google Play sistem güncellemeleri aracılığıyla güncellemeleri ayrı bir indirme işlemi gerektirmeden alır. Bu sayede Health Connect sık sık güncellenebilir ve uygulamalarınız Android 14 veya sonraki sürümleri çalıştıran cihazlarda Health Connect'ten yararlanabilir. Kullanıcılar, sistem ayarlarına entegre gizlilik denetimleri sayesinde Health Connect'e cihazlarındaki Ayarlar'dan erişebilir.
Android 14'teki Health Connect, egzersiz rotaları gibi yeni özellikler içerir. Bu sayede kullanıcılar antrenman rotalarını harita üzerinde paylaşabilir. Rota, belirli bir zaman dilimi içinde kaydedilen konumların listesi olarak tanımlanır ve uygulamanız egzersiz oturumlarına rota ekleyebilir ve bunları birbirine bağlayabilir. Kullanıcıların bu hassas veriler üzerinde tam kontrole sahip olabilmesi için kullanıcıların, rotaların diğer uygulamalarla tek tek paylaşılmasına izin vermesi gerekir.
Daha fazla bilgi için Health Connection dokümanlarına ve Android Health'teki yenilikler blog yayınına bakın.
OpenJDK 17 güncellemeleri
Android 14, Android'in temel kitaplıklarını, uygulama ve platform geliştiricileri için kitaplık güncellemeleri ve Java 17 dil desteği de dahil olmak üzere en son OpenJDK LTS sürümlerindeki özelliklerle uyumlu olacak şekilde yenileme çalışmalarına devam ediyor.
Şu özellikler ve iyileştirmeler dahildir:
- Yaklaşık 300
java.base
sınıfı, Java 17 desteği ile güncellendi. - Metin Blokları, çok satırlı dize değişmez değerlerini Java programlama diline ekler.
- Örnek için Kalıp Eşleştirme: Bir nesnenin herhangi bir ek değişken olmadan
instanceof
içinde belirli bir türe sahip olarak değerlendirilmesini sağlar. - Gizli sınıflar: Bu sınıf ve arayüzlerin genişletilmesini veya uygulanmasını kısıtlamanıza olanak tanır.
Google Play sistem güncellemeleri (Project Mainline) sayesinde 600 milyondan fazla cihazın bu değişiklikleri içeren en son Android Çalışma Zamanı (ART) güncellemelerini alabilmesi sağlandı. Bu, uygulamalara cihazlar genelinde daha tutarlı ve güvenli bir ortam sağlama ve kullanıcılara platform sürümlerinden bağımsız olarak yeni özellikler ve olanaklar sunma taahhüdümüzün bir parçasıdır.
Java ve OpenJDK, Oracle ve/veya satış ortaklarının ticari markaları ya da tescilli ticari markalarıdır.
Uygulama mağazaları için iyileştirmeler
Android 14, uygulama mağazalarının kullanıcı deneyimini iyileştirmesini sağlayan çeşitli PackageInstaller
API'lerini kullanıma sunar.
İndirmeden önce yükleme onayı iste
Bir uygulamayı yüklemek veya güncellemek için kullanıcı onayı gerekebilir.
Örneğin, REQUEST_INSTALL_PACKAGES
iznini kullanan bir yükleyici yeni bir uygulama yüklemeye çalıştığında, uygulama mağazaları yalnızca yükleme oturumuna APK'lar kaydedildikten ve oturum kaydedildikten sonra kullanıcı onayı isteyebilir.
Android 14'ten itibaren requestUserPreapproval()
yöntemi, yükleyicilerin yükleme oturumunu gerçekleştirmeden önce kullanıcı onayı istemesine olanak tanır. Bu iyileştirme sayesinde uygulama mağazası, kullanıcı tarafından onaylanana kadar APK'ların indirilmesini erteleyebilir. Ayrıca, kullanıcı yüklemeyi onayladıktan sonra, uygulama mağazası uygulamayı arka planda indirip, kullanıcının işini kesintiye uğratmadan yükleyebilir.
Gelecekteki güncellemelerle ilgili sorumluluğu üstlenin
setRequestUpdateOwnership()
yöntemi, yükleyicinin sisteme, yüklediği uygulamada gelecekte yapılacak güncellemelerden sorumlu olduğunu belirtmesine olanak tanır. Bu özellik, sahiplik güncellemenin zorunlu kılınmasını sağlar. Diğer bir deyişle, yalnızca güncelleme sahibinin uygulamaya otomatik güncellemeleri yüklemesine izin verilir. Güncelleme sahipliği yaptırımı, kullanıcıların yalnızca beklenen uygulama mağazasından gelen güncellemeleri aldığından emin olmanıza yardımcı olur.
INSTALL_PACKAGES
iznini kullananlar da dahil olmak üzere diğer yükleyicilerin bir güncellemeyi yüklemek için açık kullanıcı onayı alması gerekir. Kullanıcı başka bir kaynaktan güncelleme yaparak devam etmeye karar verirse güncelleme sahipliği kaybolur.
Uygulamaları rahatsız edici olmayan zamanlarda güncelleyin
Uygulama mağazaları genellikle aktif olarak kullanılmakta olan bir uygulamayı güncellemekten kaçınmak ister. Bu güncelleme, uygulamanın çalışan süreçlerinin sonlandırılmasına neden olarak kullanıcının yaptığı işi kesintiye uğratabilir.
Android 14'ten itibaren InstallConstraints
API, yükleyicilere uygulama güncellemelerinin uygun bir anda gerçekleşmesini sağlayacak bir yöntem sunar. Örneğin, bir uygulama mağazası güncellemenin yalnızca kullanıcı artık söz konusu uygulamayla etkileşimde
olmadığında yapıldığından emin olmak için commitSessionAfterInstallConstraintsAreMet()
yöntemini çağırabilir.
İsteğe bağlı bölmeleri sorunsuz şekilde yükleyin
Bölünmüş APK'larla bir uygulamanın özellikleri, monolitik APK olarak değil, ayrı APK dosyalarında sunulabilir. Bölünmüş APK'lar, uygulama mağazalarının farklı uygulama bileşenlerinin sunumunu optimize etmesine olanak tanır. Örneğin, uygulama mağazaları, hedef cihazın özelliklerine göre optimizasyon yapabilir. PackageInstaller
API, API düzeyi 22'de kullanıma sunulduğundan beri bölmeleri desteklemektedir.
Android 14'te setDontKillApp()
yöntemi, yükleyicinin yeni bölmeler yüklendiğinde uygulamanın çalışan işlemlerinin sonlandırılmaması gerektiğini belirtmesini sağlar. Uygulama mağazaları, bir uygulamanın yeni özelliklerini kullanıcı uygulamayı kullanırken sorunsuz bir şekilde yüklemek için bu özelliği kullanabilir.
Uygulama meta veri paketleri
Android 14'ten itibaren Android paket yükleyici, Google Play gibi uygulama mağazası sayfalarına eklemek için veri güvenliği yöntemleri gibi uygulama meta verilerini belirtmenizi sağlar.
Kullanıcıların cihaz ekran görüntüsü almasını algılama
Android 14, ekran görüntülerini algılamayla ilgili daha standart bir deneyim oluşturmak için gizliliği korumaya yönelik bir ekran görüntüsü algılama API'si sunar. Bu API, uygulamaların etkinlik başına geri çağırma işlevleri kaydetmesine olanak tanır. Bu geri çağırma işlevleri çağrılır ve kullanıcı, söz konusu etkinlik görünür durumdayken ekran görüntüsü aldığında bilgilendirilir.
Kullanıcı deneyimi
Paylaşım sayfası özel işlemleri ve geliştirilmiş sıralama
Android 14, sistem paylaşım sayfasını özel uygulama işlemlerini ve daha fazlasını destekleyecek şekilde günceller. kullanıcılar için bilgilendirici önizleme sonuçları.
Özel işlem ekleyin
Android 14 ile uygulamanız sistem paylaşım sayfasına özel işlemler ekleyin.
Doğrudan paylaşım hedeflerinin sıralamasını iyileştirme
Android 14, doğrudan sitelerin sıralamasını belirlemek için uygulamalardan gelen daha fazla sinyalden yararlanıyor. hedefleri paylaşın. Sıralama için en yararlı sinyali sağlamak üzere şu yönergeleri izleyin: Doğrudan Paylaşım hedeflerinizin sıralamalarını iyileştirin. İletişim uygulamaları ayrıca aşağıdakiler için kısayol kullanımını bildirebilir: iletileri de dahil edebilirsiniz.
Tahmine dayalı geri hareketi için yerleşik ve özel animasyon desteği
Android 13, bir geliştirici seçeneğinin ardında tahmine dayalı eve geri dönüş animasyonunu kullanıma sundu. Geri kaydırma, geliştirici seçeneği etkin olan desteklenen bir uygulamada kullanıldığında, geri kaydırma hareketinin uygulamadan tekrar ana ekrana çıktığını belirten bir animasyon gösterir.
Android 14, Forecastive Back için birçok iyileştirmenin yanı sıra yeni rehberlik sunuyor:
android:enableOnBackInvokedCallback=true
'i, tahmine dayalı geri sistem animasyonlarını uygulamanın tamamı yerine Etkinlik bazında etkinleştirecek şekilde ayarlayabilirsiniz.- Android 13'teki eve geri dönüş animasyonuna yeni sistem animasyonları ekledik. Yeni sistem animasyonları, Tahmini Geri'ye taşındıktan sonra otomatik olarak aldığınız çapraz etkinlik ve görevler arasıdır.
- Alt sayfalar, Yan sayfalar ve Arama için yeni Malzeme Bileşeni animasyonları ekledik.
- Özel uygulama içi animasyonlar ve geçişler oluşturmak için tasarım rehberliği oluşturduk.
- Özel uygulama içi geçiş animasyonlarını desteklemek için yeni API'ler ekledik:
handleOnBackStarted
,handleOnBackProgressed
,handleOnBackCancelled
in
OnBackPressedCallback
onBackStarted
,onBackProgressed
,onBackCancelled
in
OnBackAnimationCallback
- Kullanıcı geri kaydırdığında yanıt veren geçişler için
overridePendingTransition
yerineoverrideActivityTransition
kullanın.
Bu Android 14 önizleme sürümünde Tahmine Dayalı Geri'nin tüm özellikleri bir geliştirici seçeneğinin arkasında kalır. Uygulamanızı tahmini eski sürüme taşımaya yönelik geliştirici kılavuzunu ve özel uygulama içi geçişler oluşturmayla ilgili geliştirici kılavuzunu inceleyin.
Uygulama başına büyük ekran cihaz üreticisi geçersiz kılma işlemleri
Uygulama başına geçersiz kılma, cihaz üreticilerinin büyük ekranlı cihazlardaki uygulamaların davranışını değiştirmesine olanak tanır. Örneğin, FORCE_RESIZE_APP
geçersiz kılması, uygulama manifest'inde resizeableActivity="false"
ayarlanmış olsa bile sisteme uygulamayı ekran boyutlarına sığacak şekilde yeniden boyutlandırması (boyut uyumluluk modundan kaçınarak) talimatını verir.
Geçersiz kılma işlemleri, büyük ekranlarda kullanıcı deneyimini iyileştirmeyi amaçlar.
Yeni manifest özellikleri, uygulamanız için bazı cihaz üreticisi geçersiz kılma işlemlerini devre dışı bırakmanızı sağlar.
Uygulama başına büyük ekran kullanıcısı geçersiz kılma
Uygulama bazında geçersiz kılmalar, uygulamaların büyük ekranlı cihazlardaki davranışını değiştirir. Örneğin, OVERRIDE_MIN_ASPECT_RATIO_LARGE
cihaz üreticisi geçersiz kılma ayarı, uygulamanın yapılandırmasından bağımsız olarak uygulama en boy oranını 16:9 olarak ayarlar.
Android 14 QPR1, kullanıcıların büyük ekranlı cihazlarda yeni bir ayarlar menüsü aracılığıyla uygulama bazında geçersiz kılmaları uygulamasına olanak tanır.
Uygulama ekran paylaşımı
Uygulama ekran paylaşımı, kullanıcıların ekran içeriği kaydı sırasında cihaz ekranının tamamı yerine bir uygulama penceresini paylaşmasına olanak tanır.
Uygulama ekran paylaşımı sayesinde durum çubuğu, gezinme çubuğu, bildirimler ve diğer sistem kullanıcı arayüzü öğeleri paylaşılan ekrandan hariç tutulur. Yalnızca seçilen uygulamanın içeriği paylaşılır.
Uygulama ekran paylaşımı, kullanıcıların birden fazla uygulamayı çalıştırmasına olanak tanırken içerik paylaşımını tek bir uygulama ile sınırlandırarak üretkenliği ve gizliliği artırır.
Pixel 8 Pro'daki Gboard'da LLM destekli Akıllı Yanıt
Aralık ayı özellik değişikliğine sahip Pixel 8 Pro cihazlarda geliştiriciler, Google Tensor'da çalışan cihaz üzerindeki Büyük Dil Modelleri (LLM) ile desteklenen Gboard'da daha yüksek kaliteli akıllı yanıtları deneyebilirler.
Bu özellik WhatsApp, Line ve KakaoTalk'da ABD İngilizcesi için sınırlı önizleme olarak kullanılabilir. Klavyeniz olarak Gboard ile bir Pixel 8 Pro cihaz kullanmanızı gerekir.
Denemek için önce Ayarlar > Geliştirici Seçenekleri > AiCore Ayarları > Aicore Persistent'ı Etkinleştir seçeneğinden özelliği etkinleştirin.
Ardından, gelen mesajlara yanıt olarak Gboard'un öneri şeridinde LLM destekli Akıllı Yanıt'ı görmek için desteklenen bir uygulamada bir sohbet açın.
Grafik
Yollar sorgulanabilir ve kesilebilir
Android'in Path
API'si, vektör grafikleri oluşturmaya ve oluşturmaya yönelik güçlü ve esnek bir mekanizmadır. Bir yolu çizme veya doldurma, çizgi segmentlerinden veya ikinci dereceden ya da kübik eğrilerden yol oluşturma, daha da karmaşık şekiller elde etmek için boole işlemleri veya bunların tümünü eş zamanlı olarak gerçekleştirme yeteneğine sahip. Bunun bir sınırlaması, Yol nesnesinde gerçekte neyin olduğunu bulma yeteneğidir. Nesnenin iç kısımları, oluşturulduktan sonra arayanlar için opak olur.
Path
oluşturmak için moveTo()
, lineTo()
ve cubicTo()
gibi yöntemleri çağırarak yol segmentleri ekleyebilirsiniz. Ancak bu yolda segmentlerin ne olduğunu sormanın bir yolu olmadığından, bu bilgileri oluşturma sırasında saklamanız gerekir.
Android 14'ten itibaren, içinde ne olduğunu öğrenmek için yolları sorgulayabilirsiniz.
Öncelikle, Path.getPathIterator
API'yi kullanarak bir PathIterator
nesnesi almanız gerekir:
Kotlin
val path = Path().apply { moveTo(1.0f, 1.0f) lineTo(2.0f, 2.0f) close() } val pathIterator = path.pathIterator
Java
Path path = new Path(); path.moveTo(1.0F, 1.0F); path.lineTo(2.0F, 2.0F); path.close(); PathIterator pathIterator = path.getPathIterator();
Daha sonra, segmentleri tek tek güncellemek ve her bir segment için gerekli tüm verileri almak üzere PathIterator
öğesini çağırabilirsiniz. Bu örnekte, verileri sizin için paketleyen PathIterator.Segment
nesneleri kullanılmaktadır:
Kotlin
for (segment in pathIterator) { println("segment: ${segment.verb}, ${segment.points}") }
Java
while (pathIterator.hasNext()) { PathIterator.Segment segment = pathIterator.next(); Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints()); }
PathIterator
, nokta verilerini tutmak için bir arabellek iletebileceğiniz, next()
'un ayırt etmeyen bir sürümüne de sahiptir.
Path
verilerini sorgulamanın önemli kullanım alanlarından biri de kesme noktasıdır. Örneğin, iki farklı yol arasında animasyon (veya morph) oluşturmak isteyebilirsiniz. Bu kullanım alanını daha da basitleştirmek için Android 14, Path
üzerinde interpolate()
yöntemini de içerir. İki yolun aynı dahili yapıya sahip olduğu varsayıldığında interpolate()
yöntemi, ara değer alınan bu sonuçla yeni bir Path
oluşturur. Bu örnek, şekli path
ile otherPath
arasında yarı yolda olan (0,5 değerinin doğrusal bir kesişimi) bir yol döndürür:
Kotlin
val interpolatedResult = Path() if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, .5f, interpolatedResult) }
Java
Path interpolatedResult = new Path(); if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, 0.5F, interpolatedResult); }
Jetpack graphics-path kitaplığı, Android'in önceki sürümleri için de benzer API'leri etkinleştirir.
Köşe ve parça gölgelendiricileri içeren özel ağlar
Android uzun süredir özel gölgelendirmeli çizim üçgen örgülerini desteklemektedir ancak giriş örgü biçimi, önceden tanımlanmış birkaç özellik kombinasyonuyla sınırlandırılmıştır. Android 14'te eklenen özel örgüler, üçgen veya üçgen şeritler olarak tanımlanabilir ve isteğe bağlı olarak dizine eklenebilir. Bu örgüler özel özellikler, köşe çizgileri, değişken ve AGSL'de yazılan köşe ve parça gölgelendiricilerle belirtilir.
Köşe gölgelendirici, konum ve renk gibi değişiklikleri tanımlarken parça gölgelendiricisi, pikselin rengini isteğe bağlı olarak tanımlayabilir (genellikle köşe gölgelendiricisi tarafından oluşturulan varyasyonlar aracılığıyla). Renk, parça gölgelendirici tarafından sağlanırsa ağacı çizerken seçilen harmanlama modu kullanılarak mevcut Paint
rengiyle karıştırılır. Üniformalar, daha fazla esneklik için parçaya ve köşe gölgelendiricilerine geçirilebilir.
Tuval için donanım arabelleği oluşturma aracı
Çizim yapmak için Android'in Canvas
API'sini kullanma konusunda yardımcı olmak
HardwareBuffer
, Android 14 için donanım hızlandırma
HardwareBufferRenderer
tanıtılıyor. Bu API
kullanım alanınız sistemle iletişimi içeriyorsa özellikle yararlıdır.
düşük gecikme için SurfaceControl
aracılığıyla birleştirici
çizim.