Özelliklere ve API'lere Genel Bakış

Android 14, geliştiricilere harika özellikler ve API'ler sunuyor. Aşağıdaki kaynaklar, 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 için Android 14'ü hedefleyen uygulamalar ve tüm uygulamalar için Android 14 davranış değişikliklerine göz atın.

Uluslararası hale getirme

Uygulamaya özgü dil tercihleri

Android 14, Android 13'te (API düzeyi 33) kullanıma sunulan uygulama başına dil özelliklerini aşağıdaki ek özelliklerle genişletir:

  • Uygulamanın localeConfig dosyasını otomatik olarak oluşturma: Android Studio Giraffe Canary 7 ve AGP 8.1.0-alpha07'den itibaren uygulamanızı uygulama başına dil tercihlerini otomatik olarak destekleyecek şekilde yapılandırabilirsiniz. Android Gradle eklentisi, proje kaynaklarınızı temel alarak LocaleConfig dosyasını oluşturur ve nihai manifest dosyasına bu dosyaya referans ekler. Böylece artık dosyayı manuel olarak oluşturmanız veya güncellemeniz gerekmez. AGP, LocaleConfig dosyasına eklenecek yerel ayarları belirlemek için uygulama modüllerinizin res klasörlerindeki kaynakları ve kitaplık modülü bağımlılıklarını kullanır.

  • Uygulamanın localeConfig için dinamik güncellemeler: LocaleManager'deki setOverrideLocaleConfig() ve getOverrideLocaleConfig() yöntemlerini kullanarak uygulamanızın desteklenen diller listesini cihazın sistem ayarlarında dinamik olarak güncelleyin. Bu esnekliği kullanarak bölgeye göre desteklenen diller listesini özelleştirebilir, A/B denemeleri çalıştırabilir veya uygulamanız yerelleştirme için sunucu tarafı push'ları kullanıyorsa güncellenmiş bir yerel ayar listesi sağlayabilirsiniz.

  • Giriş yöntemi düzenleyiciler (IME'ler) için uygulama dili görünürlüğü: IME'ler, mevcut uygulamanın dilini kontrol etmek ve IME dilini bu dille eşleştirmek için getApplicationLocales() yöntemini kullanabilir.

Grammatical Inflection API

3 milyar insan cinsiyete dayalı diller konuşuyor: İsim, fiil, sıfat ve edat gibi dil bilgisi kategorilerinin, konuştuğunuz veya bahsettiğiniz kişilerin ve nesnelerin cinsiyetine göre değiştiği diller. Cinsiyetli dillerin çoğunda, geleneksel olarak varsayılan veya genel cinsiyet olarak eril dil bilgisi cinsiyeti kullanılır.

Kullanıcılara yanlış dil bilgisi cinsiyetiyle hitap etmek (ör. kadınları eril dil bilgisi cinsiyetiyle hitap etmek) performanslarını ve tutumlarını olumsuz yönde etkileyebilir. Buna karşılık, kullanıcının dil bilgisi açısından cinsiyetini doğru yansıtan bir kullanıcı arayüzü, kullanıcı etkileşimini artırabilir ve daha kişiselleştirilmiş ve doğal bir kullanıcı deneyimi sunabilir.

为帮助您针对区分性别的语言构建以用户为中心的界面,Android 14 引入了 Grammatical Inflection API,让您无需重构应用便能添加对语法性别的支持。

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.

Android sistem ayarlarında bölgesel tercihler ekranı.
Android sistem ayarlarında bölgesel tercihler için sıcaklık seçenekleri.

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

Uygulamanızı test etmek için cihazın erişilebilirlik ayarlarında maksimum yazı tipi boyutunu etkinleştirin.

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:

  1. Ayarlar uygulamasını açın ve Erişilebilirlik > Görüntü boyutu ve metin'e gidin.
  2. 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

Standart Dinamik Aralık (SDR) ve Yüksek Dinamik Aralık (HDR) resim kalitesinin karşılaştırmasını gösteren resim.

Android 14, fotoğraf çekerken sensörden daha fazla bilginin korunmasını sağlayan ve canlı renkler ile daha yüksek kontrast sağlayan Yüksek Dinamik Aralık (HDR) resimleri için destek ekler. Android, JPEG resimleriyle tamamen geriye dönük uyumlu olan Ultra HDR biçimini kullanır. Bu biçim, uygulamaların HDR resimlerle sorunsuz bir şekilde birlikte çalışmasını sağlar ve gerektiğinde resimleri Standart Dinamik Aralık (SDR) olarak gösterir.

Uygulamanız, etkinlik aralığı için HDR kullanıcı arayüzünü kullanmayı bir manifest girişi aracılığıyla veya çalışma zamanında Window.setColorMode() çağrısı yaparak etkinleştirdiğinde bu resimlerin kullanıcı arayüzünde HDR olarak oluşturulması çerçeve tarafından otomatik olarak yapılır. Desteklenen cihazlarda sıkıştırılmış Ultra HDR fotoğraflar da çekebilirsiniz. Sensörden daha fazla renk elde edildiğinde, düzenleme işlemi daha esnek olabilir. Ultra HDR resimlerle ilişkili Gainmap, OpenGL veya Vulkan kullanılarak oluşturulmak için kullanılabilir.

Kamera uzantılarında yakınlaştırma, odaklama, görüntüyü oynatma ve daha fazlası

Android 14, kamera uzantılarını yükselterek ve iyileştirerek uygulamaların daha uzun işlem sürelerini yönetmesine olanak tanır. Bu sayede, desteklenen cihazlarda düşük ışıkta fotoğrafçılık gibi yoğun bilgi işlem gerektiren algoritmalar kullanılarak daha iyi görüntüler elde edilebilir. Bu özellikler, kamera uzantısı özelliklerini kullanırken kullanıcılara daha da güçlü bir deneyim sunar. Bu iyileştirmelere örnek olarak aşağıdakiler verilebilir:

Sensör içi yakınlaştırma

When REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE in CameraCharacteristics contains SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW, your app can use advanced sensor capabilities to give a cropped RAW stream the same pixels as the full field of view by using a CaptureRequest with a RAW target that has stream use case set to CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW. By implementing the request override controls, the updated camera gives users zoom control even before other camera controls are ready.

USB'de kayıpsız ses

Android 14, USB kablolu kulaklıklarda ses kalitesini artıran kayıpsız ses biçimlerini destekler. USB cihazı tercih edilen karıştırıcı özellikleri için sorgulayabilir, tercih edilen karıştırıcı özelliklerindeki değişiklikler için bir dinleyici kaydedebilir ve AudioMixerAttributes sınıfını kullanarak karıştırıcı özelliklerini yapılandırabilirsiniz. Bu sınıf, ses karıştırıcının kanal maskesi, örnekleme hızı ve davranışı gibi biçimi temsil eder. Sınıf, karıştırma, ses seviyesi ayarı veya işleme efektleri olmadan seslerin doğrudan gönderilmesine olanak tanır.

Geliştirici üretkenliği ve araçları

Kimlik Bilgisi Yöneticisi

Android 14 adds Credential Manager as a platform API, with additional support back to Android 4.4 (API level 19) devices through a Jetpack Library using Google Play services. Credential Manager aims to make sign-in easier for users with APIs that retrieve and store credentials with user-configured credential providers. Credential Manager supports multiple sign-in methods, including username and password, passkeys, and federated sign-in solutions (such as Sign-in with Google) in a single API.

Passkeys provide many advantages. For example, passkeys are built on industry standards, can work across different operating systems and browser ecosystems, and can be used with both websites and apps.

For more information, see the Credential Manager and passkeys documentation and the blogpost about Credential Manager and passkeys.

ve geri yükleme

Health Connect, kullanıcıların sağlık ve fitness verilerini saklayan cihaz üzerinde bir depolama alanıdır. Bu sayede kullanıcılar, en sevdikleri uygulamalar arasında veri paylaşabilir ve bu uygulamalarla hangi verileri paylaşmak istediklerini tek bir yerden kontrol edebilir.

Android 14'ten önceki Android sürümlerini çalıştıran cihazlarda Health Connect, Google Play Store'dan uygulama olarak indirilebilir. Android 14'ten itibaren Health Connect, platformun bir parçasıdır ve ayrı bir indirme işlemi gerektirmeden Google Play sistem güncellemeleri aracılığıyla güncelleme alır. Bu sayede Health Connect sık sık güncellenebilir ve uygulamalarınız, Health Connect'in Android 14 veya sonraki sürümleri çalıştıran cihazlarda kullanılabildiğinden emin olabilir. Kullanıcılar, sistem ayarlarına entegre edilmiş gizlilik denetimleriyle cihazlarındaki Ayarlar'dan Health Connect'e erişebilir.

Kullanıcılar, Android 14 veya sonraki sürümleri çalıştıran cihazlarda ayrı bir uygulama indirmeden Health Connect'i kullanmaya başlayabilir.
Kullanıcılar, sistem ayarlarından sağlık ve fitness verilerine hangi uygulamaların erişebileceğini kontrol edebilir.

Health Connect, Android 14'te egzersiz rotaları gibi çeşitli yeni özellikler içerir. Bu özellikler sayesinde kullanıcılar, egzersiz rotalarını harita üzerinde görselleştirerek paylaşabilir. Rota, belirli bir zaman aralığında kaydedilen konumların listesi olarak tanımlanır. Uygulamanız, rotaları egzersiz oturumlarına ekleyerek bunları birbirine bağlayabilir. Kullanıcıların bu hassas veriler üzerinde tam kontrole sahip olması için kullanıcıların, rotaların tek tek diğer uygulamalarla paylaşılmasına izin vermesi gerekir.

Daha fazla bilgi için Health Connect dokümanlarına ve Android Sağlık'ta yenilikler başlıklı blog yayınına göz atın.

OpenJDK 17 güncellemeleri

Android 14, Android'in temel kitaplıklarını en son OpenJDK LTS sürümlerindeki özelliklerle uyumlu hale getirmek için yenileme çalışmalarına devam ediyor. Bu çalışmalara hem kitaplık güncellemeleri hem de uygulama ve platform geliştiricileri için Java 17 dil desteği dahildir.

Aşağıdaki özellikler ve iyileştirmeler dahildir:

  • Yaklaşık 300 java.base sınıfı Java 17 desteği için güncellendi.
  • Java programlama diline çok satırlı dize değişmezleri getiren metin blokları.
  • instanceof için kalıp eşleştirme: Bir nesnenin instanceof içinde ek değişkenler olmadan belirli bir türe sahipmiş gibi değerlendirilmesine olanak tanır.
  • Hangi sınıfların ve arayüzlerin bunları genişletebileceğini veya uygulayabileceğini kısıtlamanıza olanak tanıyan mühürlü sınıflar.

Google Play sistem güncellemeleri (Mainline projesi) sayesinde 600 milyondan fazla cihaz, bu değişiklikleri içeren en son Android Runtime (ART) güncellemelerini alabilir. Bu, uygulamalara cihazlar genelinde daha tutarlı ve güvenli bir ortam sunma ve kullanıcılara platform sürümlerinden bağımsız olarak yeni özellikler ve özellikler 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ında yapılan iyileştirmeler

Android 14, uygulama mağazalarının kullanıcı deneyimini iyileştirmesine olanak tanıyan çeşitli PackageInstaller API'leri sunar.

İndirmeden önce yükleme onayı isteme

Uygulama 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. Önceki Android sürümlerinde uygulama mağazaları, yalnızca APK'lar yükleme oturumuna yazıldıktan ve oturum taahhüt edildikten sonra kullanıcı onayı isteyebilir.

Android 14'ten itibaren requestUserPreapproval() yöntemi, yükleyicilerin yükleme oturumunu önce kullanıcı onayı istemesine olanak tanır. Bu iyileştirme, uygulama mağazalarının APK'ları yüklemeyi, yükleme işlemi kullanıcı tarafından onaylanana kadar ertelemelerine olanak tanır. Ayrıca, kullanıcı yüklemeyi onayladıktan sonra uygulama mağazası, kullanıcıyı rahatsız etmeden uygulamayı arka planda indirip yükleyebilir.

Gelecekteki güncellemeler için sorumluluk alma

setRequestUpdateOwnership() yöntemi, yükleyicinin yüklediği bir uygulamanın gelecekteki güncellemelerinden sorumlu olmayı amaçladığını sisteme belirtmesine olanak tanır. Bu özellik, güncelleme sahipliği yaptırımını etkinleştirir. Bu sayede, uygulamaya otomatik güncelleme yüklenmesine yalnızca güncelleme sahibinin izin verilir. Güncelleme sahipliği yaptırımı, kullanıcıların yalnızca beklenen uygulama mağazasından güncelleme almasını sağlar.

INSTALL_PACKAGES iznini kullananlar da dahil olmak üzere diğer tüm yükleyicilerin, güncelleme yüklemek için açık kullanıcı onayı alması gerekir. Kullanıcı başka bir kaynaktan güncelleme yapmaya karar verirse güncelleme sahipliği kaybedilir.

Uygulamaları kullanıcıların günlük rutinini etkilemeyecek zamanlarda güncelleme

Uygulama mağazaları, etkin olarak kullanılan bir uygulamanın güncellenmesini genellikle istemez. Bunun nedeni, uygulamanın çalışan işlemlerinin sonlandırılmasıdır. Bu da kullanıcının yaptığı işlemi kesintiye uğratabilir.

Android 14'ten itibaren InstallConstraints API, yükleyicilere uygulama güncellemelerinin uygun bir zamanda yapılmasını sağlamanın bir yolunu sunar. Örneğin, bir uygulama mağazası, bir güncellemenin yalnızca kullanıcı söz konusu uygulamayla etkileşimde bulunmadığında kaydolmasını sağlamak için commitSessionAfterInstallConstraintsAreMet() yöntemini çağırabilir.

İsteğe bağlı bölmelerin sorunsuz şekilde yüklenmesi

Bölünmüş APK'lar sayesinde, bir uygulamanın özellikleri tek bir APK yerine ayrı APK dosyalarında yayınlanabilir. Bölünmüş APK'lar, uygulama mağazalarının farklı uygulama bileşenlerinin dağıtımını 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 sunulmasından bu yana bölünmeleri desteklemektedir.

Android 14'te setDontKillApp() yöntemi, yükleyicinin yeni bölümler yüklenirken uygulamanın çalışan işlemlerinin sonlandırılmaması gerektiğini belirtmesine olanak tanır. Uygulama mağazaları, kullanıcı uygulamayı kullanırken uygulamanın yeni özelliklerini sorunsuz bir şekilde yüklemek için bu özelliği kullanabilir.

Uygulama meta veri paketleri

Starting in Android 14, the Android package installer lets you specify app metadata, such as data safety practices, to include on app store pages such as Google Play.

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şlevi kaydetmesine olanak tanır. Bu geri çağırma işlevleri çağrılır ve kullanıcı bu etkinlik görünür durumdayken ekran görüntüsü aldığında kullanıcı bilgilendirilir.

Kullanıcı deneyimi

Paylaşım sayfası özel işlemleri ve geliştirilmiş sıralama

Android 14 updates the system sharesheet to support custom app actions and more informative preview results for users.

Add custom actions

With Android 14, your app can add custom actions to the system sharesheet it invokes.

Screenshot of custom actions on the sharesheet.

Improve ranking of Direct Share targets

Android 14 uses more signals from apps to determine the ranking of the direct share targets to provide more helpful results for the user. To provide the most useful signal for ranking, follow the guidance for improving rankings of your Direct Share targets. Communication apps can also report shortcut usage for outgoing and incoming messages.

Direct Share row in the sharesheet, as shown by 1

Tahmine dayalı geri hareketi için yerleşik ve özel animasyonlar desteği

视频:预测性返回动画

Android 13 在开发者选项背后引入了预测性“返回主屏幕”动画。在已启用开发者选项的受支持应用中使用时,滑回手势会显示动画,表明返回手势会使应用退回到主屏幕。

Android 14 包含针对“预测性返回”的多项改进和新指南:

在此 Android 14 预览版中,所有预测性返回功能都是位于开发者选项背后。请参阅与将您的应用迁移到预测性返回有关的开发者指南,以及与创建自定义应用内转换有关的开发者指南

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 başına geçersiz kılmalar, büyük ekranlı cihazlardaki uygulamaların davranışını değiştirir. Örneğin, OVERRIDE_MIN_ASPECT_RATIO_LARGE cihaz üreticisi geçersiz kılma, uygulamanın yapılandırmasından bağımsız olarak uygulamanın 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 başına geçersiz kılma işlemleri uygulamasını sağlar.

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ını sağlar.

Uygulama ekranı paylaşımında 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ır ancak içerik paylaşımını tek bir uygulamayla sınırlandırır. Bu sayede üretkenliği ve gizliliği artırır.

Pixel 8 Pro'daki Gboard'da LLM destekli Akıllı Yanıt

On Pixel 8 Pro devices with the December Feature Drop, developers can try out higher-quality smart replies in Gboard powered by on-device Large Language Models (LLMs) running on Google Tensor.

This feature is available as a limited preview for US English in WhatsApp, Line, and KakaoTalk. It requires using a Pixel 8 Pro device with Gboard as your keyboard.

To try it out, first enable the feature in Settings > Developer Options > AiCore Settings > Enable Aicore Persistent.

Next, open a conversation in a supported app to see LLM-powered Smart Reply in Gboard's suggestion strip in response to incoming messages.

Gboard utilizes on-device LLMs to provide higher-quality smart replies.

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, özel gölgelemeyle üçgen ağ çizmeyi uzun süredir destekliyordu ancak giriş ağı biçimi, önceden tanımlanmış birkaç özellik kombinasyonuyla sınırlıydı. Android 14, üçgenler veya üçgen şeritler olarak tanımlanabilen ve isteğe bağlı olarak dizine eklenebilen özel ağlar için destek ekler. Bu ağlar, özel özellikler, köşe adımları, değişken ve AGSL'de yazılmış köşe ve parçacık gölgelendiricileriyle belirtilir.

Köşe noktası gölgelendirici, konum ve renk gibi değişkenleri tanımlar. Öte yandan, parçacık gölgelendirici, isteğe bağlı olarak pikselin rengini tanımlayabilir. Bu işlem genellikle köşe noktası gölgelendirici tarafından oluşturulan değişkenleri kullanarak yapılır. Renk, parçacık gölgelendirici tarafından sağlanırsa örgeyi çizerken seçilen karışım modu kullanılarak mevcut Paint rengiyle karıştırılır. Üniformalar, ek esneklik için parça ve köşe üstü gölgelendiricilere iletilebilir.

Canvas 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.