Özelliklere ve API'lere Genel Bakış

Android 14, geliştiriciler için harika özellikler ve API'ler sunar. Aşağıdakiler, uygulamalarınızın özelliklerini öğrenmenize 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 fark raporunu okuyun. Eklenen API'lerle ilgili ayrıntılar için Android API referansını ziyaret edin. Android 14 için API düzeyi 34'e eklenen API'leri bulun. 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 atmayı unutmayın.

Uluslararası hale getirme

Uygulamaya özgü dil tercihleri

Android 14, Android 13'te (API düzeyi 33) kullanıma sunulan uygulamaya özgü dil özelliklerini aşağıdaki ek özelliklerle zenginleştirir:

  • Uygulamaların localeConfig öğelerini 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ı olarak LocaleConfig 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üllerinizin res klasörlerindeki kaynakları ve tüm kitaplık modülü bağımlılıklarını kullanır.

  • Uygulamaların localeConfig sürümleri için dinamik güncellemeler: LocaleManager sayfasında setOverrideLocaleConfig() ve getOverrideLocaleConfig() yöntemlerini kullanarak cihazın sistem ayarlarında uygulamanızın desteklenen diller listesini dinamik olarak güncelleyin. Desteklenen dillerin listesini bölgeye göre özelleştirmek, A/B denemeleri çalıştırmak veya uygulamanız yerelleştirme için sunucu tarafı aktarmaları kullanıyorsa güncellenmiş bir yerel ayar listesi sağlamak için bu esnekliği kullanabilirsiniz.

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

Dilbilgisi Çekim API'sı

3 milyar kişi cinsiyete göre diller konuşuyor: İsimler, fiiller, sıfatlar ve edatlar gibi dil bilgisi kategorilerinin, konuştuğunuz veya bahsettiğiniz insanların ve nesnelerin cinsiyetine göre yön değiştirdiği diller. Geleneksel olarak birçok cinsiyete göre dil, varsayılan veya genel cinsiyet olarak eril dil bilgisi kurallarını kullanır.

Dil bilgisi açısından yanlış cinsiyetteki kullanıcılara hitap etmek (ör. kadınlara eril dil bilgisi cinsiyetine göre hitap etmek), performans ve tutumlarını olumsuz yönde etkileyebilir. Buna karşılık, kullanıcının dil bilgisi cinsiyetini doğru yansıtan bir dil kullanan kullanıcı arayüzü, kullanıcı etkileşimini iyileştirebilir ve daha kişiselleştirilmiş ve doğal bir kullanıcı deneyimi sunabilir.

Android 14, cinsiyete dayalı diller için kullanıcı odaklı bir kullanıcı arayüzü oluşturmanıza yardımcı olmak amacıyla, uygulamanızı yeniden düzenlemeden dil bilgisi desteği eklemenize olanak tanıyan Grammical Inffaction API'yi kullanıma sunuyor.

Bölgeye özgü tercihler

Regional preferences enable users to personalize temperature units, the first day of the week, and numbering systems. A European living in the United States might prefer temperature units to be in Celsius rather than Fahrenheit and for apps to treat Monday as the beginning of the week instead of the US default of Sunday.

New Android Settings menus for these preferences provide users with a discoverable and centralized location to change app preferences. These preferences also persist through backup and restore. Several APIs and intents—such as getTemperatureUnit and getFirstDayOfWeek— grant your app read access to user preferences, so your app can adjust how it displays information. You can also register a BroadcastReceiver on ACTION_LOCALE_CHANGED to handle locale configuration changes when regional preferences change.

To find these settings, open the Settings app and navigate to System > Languages & input > Regional preferences.

Regional preferences screen in Android system settings.
Temperature options for regional preferences in Android system settings.

Erişilebilirlik

Doğrusal olmayan yazı tipi boyutunu %200'e ö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

Resimler için ultra HDR

Standart Dinamik Aralık (SDR) ile Yüksek Dinamik Aralık (HDR) resim kalitesini karşılaştırma görseli.

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 Zoom, Focus, Postview ve daha fazlası

Android 14, kamera uzantılarını yeni sürüme geçirip iyileştirerek uygulamaların daha uzun işleme sürelerine olanak tanır. Bu sayede, desteklenen cihazlarda ışığın yeterli olmadığı ortamlarda çekilen fotoğraflar gibi işlem yoğun algoritmalar kullanılarak iyileştirilmiş resimler iyileştirilir. 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.

Kayıpsız USB 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 üretkenliğ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 是存储用户健康与健身数据的设备端存储库。它可让用户在喜爱的应用之间共享数据,并且只需一个位置即可控制他们要与这些应用共享哪些数据。

在搭载 Android 14 之前的 Android 版本的设备上,Health Connect 可作为应用从 Google Play 商店下载。从 Android 14 开始,Health Connect 已成为平台的一部分,它通过 Google Play 系统更新接收更新,而无需单独下载。这样一来,您可以经常更新 Health Connect,并且您的应用可以依赖于搭载 Android 14 或更高版本的设备上的 Health Connect。用户可以通过设备的“设置”中访问 Health Connect,并将隐私控制集成到系统设置中。

用户无需在搭载 Android 14 或更高版本的设备上单独下载应用,即可开始使用 Health Connect。
用户可以通过系统设置控制哪些应用有权访问其健康与健身数据。

Health Connect 在 Android 14 中包含多项新功能(例如锻炼路线),可让用户分享可在地图上直观呈现的锻炼路线。路线是指一段时间内保存的位置列表,您的应用可以将路线插入锻炼时段,并将其绑定在一起。为了确保用户能够完全控制这些敏感数据,用户必须允许与其他应用共享个别路由。

如需了解详情,请参阅 Health Connection 文档和有关 Android Health 的新变化的博文。

OpenJDK 17 güncellemeleri

Android 14, uygulama ve platform geliştiricileri için hem kitaplık güncellemeleri hem de Java 17 dil desteği dahil olmak üzere Android'in temel kitaplıklarını en son OpenJDK LTS sürümlerindeki özelliklere uygun olacak şekilde yenileme çalışmalarına devam ediyor.

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

  • Yaklaşık 300 java.base sınıfı, Java 17 desteği olarak güncellendi.
  • Metin Blokları, Java programlama diline çok satırlı dize değişmez değerleri kazandırır.
  • Örnek için Kalıp Eşleştirme: Bir nesnenin ek değişken olmadan instanceof içinde belirli bir türe sahip olarak değerlendirilmesini sağlar.
  • Gizli sınıflar: Bu özellik, bunları genişletebilecek veya uygulayabilecek sınıfları ve arayüzleri kısıtlamanızı sağlar.

Google Play sistem güncellemeleri (Project Mainline) sayesinde 600 milyondan fazla cihazın, bu değişiklikleri içeren en son Android Runtime (ART) güncellemelerini alabilmesi sağlandı. Bu, uygulamalara tüm cihazlarda daha tutarlı ve güvenli bir ortam sunma ve kullanıcılara platform sürümlerinden bağımsız olarak yeni özellikler ile işlevler sunma taahhüdümüz kapsamındadır.

Java ve OpenJDK, Oracle ve/veya satış ortaklarının ticari markaları veya 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 paket yükleyici, Android 14'ten itibaren uygulama mağazası sayfalarına eklemek üzere veri güvenliği uygulamaları gibi uygulama meta verilerini belirtmenize olanak tanır.

Kullanıcılar cihaz ekran görüntüsü aldığında bunu algıla

Android 14, ekran görüntülerini algılama konusunda 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 geri çağırmaları etkinlik bazında kaydetmesine olanak tanır. Kullanıcı, etkinlik görünür durumdayken ekran görüntüsü aldığında bu geri çağırmalar çağrılır ve kullanıcı bilgilendirilir.

Kullanıcı deneyimi

Sharesheet özel işlemleri ve iyileştirilmiş sıralama

Android 14, sistem paylaşım sayfasını özel uygulama işlemlerini ve kullanıcılar için daha bilgilendirici önizleme sonuçlarını destekleyecek şekilde günceller.

Özel işlemler ekleme

Android 14 ile uygulamanız, çağrı yaptığı sistem paylaşım sayfasına özel işlemler ekleyebilir.

Paylaşım sayfasındaki özel işlemlerin ekran görüntüsü.

Direct Share hedeflerinin sıralamasını iyileştirme

Android 14, kullanıcıya daha faydalı sonuçlar sunmak amacıyla doğrudan paylaşım hedeflerinin sıralamasını belirlemek için uygulamalardan gelen daha fazla sinyali kullanır. Sıralama için en yararlı sinyali sağlamak üzere Doğrudan Paylaşım hedeflerinizin sıralamasını iyileştirme yönergelerini izleyin. İletişim uygulamaları, giden ve gelen mesajlar için kısayol kullanımını da bildirebilir.

1
tarafından gösterildiği şekilde, paylaşım sayfasındaki Doğrudan Paylaşım satırı

Tahmini Geri Dönme için yerleşik ve özel animasyonlar için destek

Video: Tahmini geri animasyonları

Android 13'te, bir geliştirici seçeneğinin arkasında tahmine dayalı eve geri dönüş animasyonu kullanıma sunuldu. Geri kaydırma, geliştirici seçeneği etkin şekilde desteklenen bir uygulamada kullanıldığında, geri kaydırma hareketinin uygulamadan tekrar ana ekrana döndüğünü belirten bir animasyon gösterir.

Android 14, Estimateive Back için birçok iyileştirme ve yeni kılavuz içerir:

Bu Android 14 önizleme sürümünde tüm Recommendationive Back özellikleri, bir geliştirici seçeneğinin arkasında kalmaya devam edecektir. Uygulamanızı tahmine dayalı geri taşımaya yönelik geliştirici kılavuzunu ve özel uygulama içi geçişler oluşturmayla ilgili geliştirici kılavuzunu inceleyin.

Büyük ekranlı cihaz üreticisinin uygulama bazında geçersiz kılmaları

借助按应用替换项,设备制造商可以更改应用在大屏设备上的行为。例如,FORCE_RESIZE_APP 替换项指示系统调整应用大小以适应显示屏尺寸(避免尺寸兼容模式),即使在应用清单中设置了 resizeableActivity="false" 也是如此。

替换项旨在改善大屏设备上的用户体验。

新的清单属性可让您为应用停用某些设备制造商替换项。

Büyük ekran kullanıcısı uygulama başına geçersiz kılmaları

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 ayarlar menüsü ile uygulama bazında geçersiz kılmaları uygulamasına olanak tanır.

Uygulama ekran paylaşımı

应用屏幕共享功能让用户能够在录制屏幕内容期间共享应用窗口,而非整个设备屏幕。

使用应用屏幕共享时,状态栏、导航栏、通知和其他系统界面元素会从共享显示屏中排除。系统只会分享所选应用的内容。

应用屏幕共享可让用户运行多个应用,但仅限单个应用共享内容,从而提高效率和隐私性。

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 üzerinde 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'ta ABD İngilizcesi için sınırlı bir önizleme olarak kullanılabilir. Bunun için klavyeniz olarak Gboard'un bulunduğu bir Pixel 8 Pro cihaz gerekir.

Denemek için önce Ayarlar > Geliştirici Seçenekleri > AI Core Ayarları > Aicore Persistent'ı Etkinleştir bölümünden ö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.

Gboard, daha yüksek kaliteli akıllı yanıtlar sağlamak için cihaz üzerindeki LLM'leri kullanır.

Grafik

Yollar sorgulanabilir ve birlikte çalışabilirlik

Android 的 Path API 是一种强大且灵活的机制,可用于创建和渲染矢量图形,能够描边或填充路径,根据线段、二次曲线或立方曲线构建路径,执行布尔运算以获取更复杂的形状,或同时执行所有这些操作。不过,您无法找出 Path 对象中实际包含的内容;该对象的内部信息在创建后对于调用方是不透明的。

如需创建 Path,您可以调用 moveTo()lineTo()cubicTo() 等方法来添加路径片段。但是,无法询问该路径有哪些段,因此您必须在创建时保留该信息。

从 Android 14 开始,您可以查询路径以了解其内部内容。首先,您需要使用 Path.getPathIterator API 获取 PathIterator 对象:

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

接下来,您可以调用 PathIterator 逐个遍历片段,并检索每个片段的所有必要数据。以下示例使用了 PathIterator.Segment 对象,它会为您打包数据:

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 还有一个非分配版 next(),您可以在其中传入缓冲区来保存点数据。

查询 Path 数据的一个重要用例是插值。例如,您可能想在两个不同的路径之间添加动画(或变形)。为了进一步简化该用例,Android 14 还在 Path 中添加了 interpolate() 方法。假设两个路径具有相同的内部结构,interpolate() 方法会使用该插值结果创建一个新的 Path。以下示例返回了形状介于 pathotherPath 之间的一半(线性插值为 0 .5)的路径:

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 库也为早期版本的 Android 启用了类似的 API。

Köşe noktası ve parça gölgelendiriciler içeren özel örgüler

Android 长期支持绘制具有自定义着色的三角形网格,但输入网格格式被限制为几种预定义的属性组合。Android 14 增加了对自定义网格的支持,自定义网格可定义为三角形三角形带,并且可以视需要编入索引。这些网格通过自定义属性、顶点步长、转换以及用 AGSL 编写的顶点和片段着色器指定

顶点着色器定义变化,例如位置和颜色,而 fragment 着色器可以选择定义像素的颜色,通常通过使用顶点着色器创建的变化。如果 fragment 着色器提供了颜色,则它会使用绘制网格时选择的混合模式与当前的 Paint 颜色混合。您可以将 uniform 传递到 fragment 和顶点着色器中,以提高灵活性。

Tuval için donanım arabelleği oluşturucu

Android 14, HardwareBuffer'te donanım hızlandırmayla çizim yapmak için Android'in Canvas API'sini kullanmanıza yardımcı olmak amacıyla HardwareBufferRenderer'ı kullanıma sundu. Bu API özellikle kullanım alanınızda, düşük gecikmeli çizim için SurfaceControl üzerinden sistem oluşturucuyla iletişim kurulması gerektiği durumlarda kullanışlıdır.