Tổng quan về các tính năng và API

Android 14 mang đến cho nhà phát triển các tính năng và API mới tuyệt vời. Các phần sau đây giúp bạn tìm hiểu các tính năng cho ứng dụng cũng như làm quen với các API liên quan.

Để biết danh sách chi tiết về các API đã thêm, đã sửa đổi và đã xoá, hãy đọc báo cáo điểm khác biệt về API. Để biết thông tin chi tiết về các API đã thêm, hãy truy cập vào tài liệu tham khảo về API cho Android. Đối với Android 14, hãy tìm các API đã được thêm vào API cấp 34. Để tìm hiểu những thay đổi của nền tảng có thể tác động đến ứng dụng của bạn, hãy nhớ tham khảo các thay đổi về hành vi của Android 14 đối với ứng dụng nhắm đến Android 14tất cả ứng dụng.

Quốc tế hoá

Lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng

Android 14 mở rộng các tính năng về ngôn ngữ cho mỗi ứng dụng từng ra mắt trong Android 13 (API cấp 33), cũng như bổ sung thêm những tính năng sau:

  • Tự động tạo localeConfig của ứng dụng: Bắt đầu từ Android Studio Giraffe Canary 7 và AGP 8.1.0-alpha07, bạn có thể định cấu hình ứng dụng của mình để tự động hỗ trợ lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng. Dựa trên các tài nguyên của dự án, trình bổ trợ Android cho Gradle sẽ tạo tệp LocaleConfig và thêm mục tham chiếu đến tệp đó trong tệp kê khai cuối cùng, do đó, bạn không còn phải tạo hoặc cập nhật tệp theo cách thủ công nữa. AGP sẽ sử dụng các tài nguyên trong thư mục res của mô-đun ứng dụng và mọi phần phụ thuộc của mô-đun thư viện để xác định ngôn ngữ cần đưa vào tệp LocaleConfig.

  • Bản cập nhật động cho localeConfig của ứng dụng: Sử dụng các phương thức setOverrideLocaleConfig()getOverrideLocaleConfig() trong LocaleManager để tự động cập nhật danh sách ngôn ngữ được hỗ trợ của ứng dụng trong phần cài đặt hệ thống của thiết bị. Hãy sử dụng khả năng hoạt này để tuỳ chỉnh danh sách ngôn ngữ được hỗ trợ cho mỗi khu vực, chạy kiểm thử A/B hoặc cung cấp danh sách ngôn ngữ được cập nhật nếu ứng dụng sử dụng tính năng thông báo đẩy phía máy chủ để bản địa hoá.

  • Chế độ hiển thị ngôn ngữ ứng dụng cho trình chỉnh sửa phương thức nhập (IME): IME có thể sử dụng phương thức getApplicationLocales() để kiểm tra ngôn ngữ của ứng dụng và so khớp ngôn ngữ IME với ngôn ngữ đó.

API Biến tố ngữ pháp

Có đến 3 tỷ người sử dụng ngôn ngữ có phân biệt giống ngữ pháp: ngôn ngữ mà các danh mục ngữ pháp (chẳng hạn như danh từ, động từ, tính từ và giới từ) sẽ phản ánh theo giống của người và đối tượng mà bạn nói đến hoặc nói về. Theo truyền thống, nhiều ngôn ngữ có phân biệt giống ngữ pháp sử dụng giống đực làm giống mặc định hoặc chung.

Việc xưng hô sai ngữ pháp với người dùng, chẳng hạn như xưng hô với phụ nữ theo ngữ pháp giống đực, có thể ảnh hưởng tiêu cực đến hiệu suất và thái độ của họ. Ngược lại, giao diện người dùng có ngôn ngữ phản ánh chính xác giống ngữ pháp của người dùng có thể cải thiện mức độ tương tác, cũng như mang lại trải nghiệm tự nhiên và phù hợp hơn cho người dùng.

Để xây dựng giao diện người dùng cho các ngôn ngữ có giống ngữ pháp, Android 14 ra mắt API Biến tố ngữ pháp, cho phép bạn hỗ trợ giống ngữ pháp mà không cần tái cấu trúc ứng dụng.

Lựa chọn ưu tiên theo khu vực

Các lựa chọn ưu tiên theo khu vực cho phép người dùng cá nhân hoá đơn vị nhiệt độ, ngày đầu tiên trong tuần và hệ thống đánh số. Có thể người Châu Âu sinh sống ở Hoa Kỳ sẽ thích dùng đơn vị nhiệt độ bằng độ C thay vì độ F và muốn ứng dụng coi thứ Hai là đầu tuần thay vì mặc định ở Hoa Kỳ là Chủ nhật.

Các trình đơn Cài đặt Android mới cho những lựa chọn ưu tiên này là một nơi tập trung và dễ thấy để người dùng thay đổi các lựa chọn ưu tiên cho ứng dụng. Các lựa chọn ưu tiên này cũng được duy trì thông qua tính năng sao lưu và khôi phục. Một số API và ý định (ví dụ: getTemperatureUnitgetFirstDayOfWeek) cấp cho ứng dụng quyền đọc các lựa chọn ưu tiên của người dùng, nhờ đó, ứng dụng của bạn có thể điều chỉnh cách trình bày thông tin. Bạn cũng có thể đăng ký BroadcastReceiver trên ACTION_LOCALE_CHANGED để xử lý các thay đổi về cấu hình ngôn ngữ khi các lựa chọn ưu tiên theo khu vực được thay đổi.

Để tìm các chế độ cài đặt này, hãy mở ứng dụng Cài đặt rồi chuyển đến Hệ thống > Ngôn ngữ và phương thức nhập > Lựa chọn ưu tiên theo khu vực.

Màn hình lựa chọn ưu tiên theo khu vực trong phần cài đặt hệ thống Android.
Lựa chọn ưu tiên về nhiệt độ theo khu vực trong phần cài đặt hệ thống Android.

Hỗ trợ tiếp cận

Điều chỉnh tỷ lệ phông chữ phi tuyến tính lên đến 200%

Starting in Android 14, the system supports font scaling up to 200%, providing low-vision users with additional accessibility options that align with Web Content Accessibility Guidelines (WCAG).

To prevent large text elements on screen from scaling too large, the system applies a nonlinear scaling curve. This scaling strategy means that large text doesn't scale at the same rate as smaller text. Nonlinear font scaling helps preserve the proportional hierarchy between elements of different sizes while mitigating issues with linear text scaling at high degrees (such as text being cut off or text that becomes harder to read due to an extremely large display sizes).

Test your app with nonlinear font scaling

Enable the maximum font size in a device's accessibility settings to test your app.

If you already use scaled pixels (sp) units to define text sizing, then these additional options and scaling improvements are applied automatically to the text in your app. However, you should still perform UI testing with the maximum font size enabled (200%) to ensure that your app applies the font sizes correctly and can accommodate larger font sizes without impacting usability.

To enable 200% font size, follow these steps:

  1. Open the Settings app and navigate to Accessibility > Display size and text.
  2. For the Font size option, tap the plus (+) icon until the maximum font size setting is enabled, as shown in the image that accompanies this section.

Use scaled pixel (sp) units for text-sizes

Remember to always specify text sizes in sp units. When your app uses sp units, Android can apply the user's preferred text size and scale it appropriately.

Don't use sp units for padding or define view heights assuming implicit padding: with nonlinear font scaling sp dimensions might not be proportional, so 4sp + 20sp might not equal 24sp.

Convert scaled pixel (sp) units

Use TypedValue.applyDimension() to convert from sp units to pixels, and use TypedValue.deriveDimension() to convert pixels to sp. These methods apply the appropriate nonlinear scaling curve automatically.

Avoid hardcoding equations using Configuration.fontScale or DisplayMetrics.scaledDensity. Because font scaling is nonlinear, the scaledDensity field is no longer accurate. The fontScale field should be used for informational purposes only because fonts are no longer scaled with a single scalar value.

Use sp units for lineHeight

Always define android:lineHeight using sp units instead of dp, so the line height scales along with your text. Otherwise, if your text is sp but your lineHeight is in dp or px, it doesn't scale and looks cramped. TextView automatically corrects the lineHeight so that your intended proportions are preserved, but only if both textSize and lineHeight are defined in sp units.

Camera và nội dung nghe nhìn

Ultra HDR cho hình ảnh

An illustration of Standard Dynamic Range (SDR) versus High Dynamic Range (HDR) image quality.

Android 14 adds support for High Dynamic Range (HDR) images that retain more of the information from the sensor when taking a photo, which enables vibrant colors and greater contrast. Android uses the Ultra HDR format, which is fully backward compatible with JPEG images, allowing apps to seamlessly interoperate with HDR images, displaying them in Standard Dynamic Range (SDR) as needed.

Rendering these images in the UI in HDR is done automatically by the framework when your app opts in to using HDR UI for its Activity Window, either through a manifest entry or at runtime by calling Window.setColorMode(). You can also capture compressed Ultra HDR still images on supported devices. With more colors recovered from the sensor, editing in post can be more flexible. The Gainmap associated with Ultra HDR images can be used to render them using OpenGL or Vulkan.

Thu phóng, Lấy nét, Xem nhanh và nhiều tính năng khác trong tiện ích máy ảnh

Android 14 nâng cấp và cải thiện tiện ích máy ảnh, cho phép các ứng dụng xử lý trong thời gian dài hơn, nhờ đó hình ảnh được cải thiện bằng cách sử dụng các thuật toán chuyên sâu về điện toán như chụp ảnh ở điều kiện ánh sáng yếu trên các thiết bị được hỗ trợ. Các tính năng này mang đến cho người dùng trải nghiệm mạnh mẽ hơn nữa khi sử dụng các tính năng của tiện ích máy ảnh. Sau đây là một số ví dụ về những điểm cải tiến này:

  • Tính năng ước tính độ trễ xử lý ảnh tĩnh động cung cấp thông tin ước tính độ trễ chụp ảnh tĩnh chính xác hơn nhiều dựa trên điều kiện môi trường và cảnh hiện tại. Gọi CameraExtensionSession.getRealtimeStillCaptureLatency() để lấy đối tượng StillCaptureLatency có hai phương thức ước tính độ trễ. Phương thức getCaptureLatency() trả về độ trễ ước tính giữa onCaptureStartedonCaptureProcessStarted(), còn phương thức getProcessingLatency() trả về độ trễ ước tính giữa onCaptureProcessStarted() và khung hình đã xử lý cuối cùng.
  • Hỗ trợ các lệnh gọi lại tiến trình chụp để ứng dụng có thể hiển thị tiến trình hiện tại của các thao tác xử lý ảnh chụp tĩnh, chạy trong thời gian dài. Bạn có thể kiểm tra xem tính năng này có dùng được với CameraExtensionCharacteristics.isCaptureProcessProgressAvailable hay không. Nếu có, bạn sẽ triển khai lệnh gọi lại onCaptureProcessProgressed(), trong đó tiến trình (từ 0 đến 100) được truyền vào dưới dạng tham số.
  • Siêu dữ liệu dành riêng cho tiện ích, chẳng hạn như CaptureRequest.EXTENSION_STRENGTH để điều chỉnh mức độ của một hiệu ứng tiện ích, chẳng hạn như mức độ làm mờ nền bằng EXTENSION_BOKEH.

  • Tính năng Xem sau cho tính năng Chụp ảnh tĩnh trong các tiện ích máy ảnh, cung cấp hình ảnh được xử lý ít hơn và nhanh hơn so với hình ảnh cuối cùng. Nếu một tiện ích tăng độ trễ xử lý, thì bạn có thể cung cấp hình ảnh sau khi xem làm phần giữ chỗ để cải thiện trải nghiệm người dùng và sau đó chuyển sang hình ảnh cuối cùng. Bạn có thể kiểm tra xem tính năng này có dùng được với CameraExtensionCharacteristics.isPostviewAvailable hay không. Sau đó, bạn có thể truyền OutputConfiguration đến ExtensionSessionConfiguration.setPostviewOutputConfiguration.

  • Hỗ trợ SurfaceView cho phép đường dẫn kết xuất bản xem trước được tối ưu hoá và tiết kiệm điện năng hơn.

  • Hỗ trợ tính năng nhấn để lấy nét và thu phóng trong quá trình sử dụng tiện ích.

Thu phóng trong cảm biến

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.

Âm thanh qua cổng USB không bị suy hao

Android 14 hỗ trợ các định dạng âm thanh không suy hao để mang lại trải nghiệm âm thanh chất lượng cao qua tai nghe có dây USB. Bạn có thể truy vấn một thiết bị USB để biết các thuộc tính bộ trộn ưu tiên, đăng ký trình nghe cho các thay đổi trong các thuộc tính bộ trộn ưu tiên và định cấu hình các thuộc tính bộ trộn bằng cách sử dụng lớp AudioMixerAttributes. Lớp này đại diện cho định dạng, chẳng hạn như mặt nạ kênh, tốc độ lấy mẫu và hành vi của bộ trộn âm thanh. Lớp này cho phép gửi trực tiếp âm thanh mà không cần trộn, điều chỉnh âm lượng hoặc xử lý hiệu ứng.

Năng suất và công cụ dành cho nhà phát triển

Trình quản lý thông tin xác thực

Android 14 thêm Trình quản lý thông tin xác thực làm API nền tảng, với khả năng hỗ trợ bổ sung cho các thiết bị Android 4.4 (API cấp 19) thông qua Thư viện Jetpack bằng Dịch vụ Google Play. Mục đích của Trình quản lý thông tin xác thực là giúp người dùng đăng nhập dễ dàng hơn bằng các API truy xuất và lưu trữ thông tin xác thực thông qua các trình cung cấp thông tin xác thực do người dùng định cấu hình. Trình quản lý thông tin xác thực hỗ trợ nhiều phương thức đăng nhập, bao gồm tên người dùng và mật khẩu, khoá truy cập và các giải pháp đăng nhập liên kết (chẳng hạn như Đăng nhập bằng Google) trong một API duy nhất.

Khẩu khoá truy cập mang lại nhiều lợi thế. Ví dụ: khoá truy cập được xây dựng dựa trên các tiêu chuẩn của ngành, có thể hoạt động trên nhiều hệ điều hành và hệ sinh thái trình duyệt, cũng như có thể được sử dụng với cả trang web và ứng dụng.

Để biết thêm thông tin, hãy xem tài liệu về Trình quản lý thông tin xác thực và khoá truy cập cũng như bài đăng trên blog về Trình quản lý thông tin xác thực và khoá truy cập.

Health Connect

Health Connect is an on-device repository for user health and fitness data. It allows users to share data between their favorite apps, with a single place to control what data they want to share with these apps.

On devices running Android versions prior to Android 14, Health Connect is available to download as an app on the Google Play store. Starting with Android 14, Health Connect is part of the platform and receives updates through Google Play system updates without requiring a separate download. With this, Health Connect can be updated frequently, and your apps can rely on Health Connect being available on devices running Android 14 or higher. Users can access Health Connect from the Settings in their device, with privacy controls integrated into the system settings.

Users can get started using Health Connect without a separate app download on devices running Android 14 or higher.
Users can control which apps have access to their health and fitness data through system settings.

Health Connect includes several new features in Android 14, such as exercise routes, allowing users to share a route of their workout which can be visualized on a map. A route is defined as a list of locations saved within a window of time, and your app can insert routes into exercise sessions, tying them together. To ensure that users have complete control over this sensitive data, users must allow sharing individual routes with other apps.

For more information, see the Health Connection documentation and the blogpost on What's new in Android Health.

Nội dung cập nhật OpenJDK 17

Android 14 tiếp tục công cuộc làm mới các thư viện cốt lõi của Android để phù hợp với các tính năng trong bản phát hành OpenJDK LTS mới nhất, bao gồm cả bản cập nhật thư viện và tính năng hỗ trợ ngôn ngữ Java 17 cho các nhà phát triển ứng dụng và nền tảng.

Bao gồm các tính năng và điểm cải tiến sau đây:

  • Cập nhật tính năng hỗ trợ Java 17 cho khoảng 300 lớp java.base.
  • Khối văn bản (Text Blocks) ra mắt các giá trị cố định dạng chuỗi nhiều dòng bằng ngôn ngữ lập trình Java.
  • So khớp mẫu cho instanceof, cho phép một đối tượng được xem là có một kiểu cụ thể trong instanceof mà không cần thêm bất cứ biến nào.
  • Lớp kín (sealed classes) cho phép bạn hạn chế các lớp và giao diện có thể mở rộng hoặc triển khai các lớp đó.

Nhờ các bản cập nhật hệ thống Google Play (Project Mainline), hơn 600 triệu thiết bị được phép nhận các bản cập nhật Android Runtime (ART) mới nhất có các thay đổi này. Đây là một phần trong cam kết của chúng tôi nhằm cung cấp cho các ứng dụng một môi trường nhất quán, bảo mật hơn trên các thiết bị, đồng thời cung cấp các tính năng và chức năng mới cho người dùng độc lập với các bản phát hành nền tảng.

Java và OpenJDK là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.

Những điểm cải tiến cho cửa hàng ứng dụng

Android 14 introduces several PackageInstaller APIs that allow app stores to improve their user experience.

Request install approval before downloading

Installing or updating an app might require user approval. For example, when an installer making use of the REQUEST_INSTALL_PACKAGES permission attempts to install a new app. In prior Android versions, app stores can only request user approval after APKs are written to the install session and the session is committed.

Starting with Android 14, the requestUserPreapproval() method lets installers request user approval before committing the install session. This improvement lets an app store defer downloading any APKs until after the installation has been approved by the user. Furthermore, once a user has approved installation, the app store can download and install the app in the background without interrupting the user.

Claim responsibility for future updates

The setRequestUpdateOwnership() method allows an installer to indicate to the system that it intends to be responsible for future updates to an app it is installing. This capability enables update ownership enforcement, meaning that only the update owner is permitted to install automatic updates to the app. Update ownership enforcement helps to ensure that users receive updates only from the expected app store.

Any other installer, including those making use of the INSTALL_PACKAGES permission, must receive explicit user approval in order to install an update. If a user decides to proceed with an update from another source, update ownership is lost.

Update apps at less-disruptive times

App stores typically want to avoid updating an app that is actively in use because this leads to the app's running processes being killed, which potentially interrupts what the user was doing.

Starting with Android 14, the InstallConstraints API gives installers a way to ensure that their app updates happen at an opportune moment. For example, an app store can call the commitSessionAfterInstallConstraintsAreMet() method to make sure that an update is only committed when the user is no longer interacting with the app in question.

Seamlessly install optional splits

With split APKs, features of an app can be delivered in separate APK files, rather than as a monolithic APK. Split APKs allow app stores to optimize the delivery of different app components. For example, app stores might optimize based on the properties of the target device. The PackageInstaller API has supported splits since its introduction in API level 22.

In Android 14, the setDontKillApp() method allows an installer to indicate that the app's running processes shouldn't be killed when new splits are installed. App stores can use this feature to seamlessly install new features of an app while the user is using the app.

Gói siêu dữ liệu ứng dụng

Kể từ Android 14, trình cài đặt gói Android cho phép bạn chỉ định siêu dữ liệu ứng dụng (ví dụ: các biện pháp đảm bảo an toàn dữ liệu) để đưa vào các trang trên cửa hàng ứng dụng như Google Play.

Phát hiện thời điểm người dùng chụp ảnh màn hình thiết bị

Để tạo ra trải nghiệm chuẩn hơn đối với việc phát hiện ảnh chụp màn hình, Android 14 ra mắt API phát hiện ảnh chụp màn hình nhằm bảo vệ quyền riêng tư. API này cho phép ứng dụng đăng ký lệnh gọi lại dựa trên từng hoạt động. Khi người dùng chụp ảnh màn hình trong khi hoạt động đó đang hiển thị, những lệnh gọi lại này sẽ được gọi và người dùng sẽ nhận được thông báo.

Trải nghiệm người dùng

Các thao tác tuỳ chỉnh trên Trang chia sẻ nội dung và cách cải thiện thứ hạng

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

Hỗ trợ ảnh động tích hợp sẵn và ảnh động tuỳ chỉnh cho tính năng Xem trước thao tác quay lại

Video: Ảnh động xem trước thao tác quay lại

Android 13 đã giới thiệu ảnh động xem trước thao tác quay lại màn hình chính dưới hình thức tuỳ chọn dành cho nhà phát triển. Khi vuốt ngược lại, trong một ứng dụng được hỗ trợ và tuỳ chọn dành cho nhà phát triển được bật, sẽ xuất hiện ảnh động chỉ ra rằng cử chỉ vuốt ngược là để thoát khỏi ứng dụng và quay lại màn hình chính.

Android 14 có nhiều điểm cải tiến và hướng dẫn mới về tính năng Xem trước thao tác quay lại:

Đối với bản thử nghiệm Android 14 này, tất cả tính năng Xem trước thao tác quay lại vẫn là tuỳ chọn dành cho nhà phát triển. Xem hướng dẫn dành cho nhà phát triển để di chuyển ứng dụng sang tính năng Xem trước thao tác quay lại, cũng như hướng dẫn dành cho nhà phát triển để tạo các hiệu ứng chuyển đổi tuỳ chỉnh trong ứng dụng.

Chế độ ghi đè cho mỗi ứng dụng của nhà sản xuất thiết bị có màn hình lớn

Chế độ ghi đè cho mỗi ứng dụng cho phép nhà sản xuất thiết bị thay đổi hành vi của các ứng dụng trên thiết bị có màn hình lớn. Ví dụ: chế độ ghi đè FORCE_RESIZE_APP sẽ hướng dẫn hệ thống đổi kích thước ứng dụng cho vừa với kích thước màn hình (tránh chế độ tương thích với kích thước) ngay cả khi resizeableActivity="false" được thiết lập trong tệp kê khai ứng dụng.

Tính năng ghi đè nhằm cải thiện trải nghiệm người dùng trên màn hình lớn.

Các thuộc tính tệp kê khai mới cho phép bạn tắt một số chế độ ghi đè của nhà sản xuất thiết bị cho ứng dụng của mình.

Chế độ ghi đè cho mỗi ứng dụng của người dùng trên màn hình lớn

Tính năng ghi đè cho mỗi ứng dụng thay đổi hành vi của ứng dụng trên thiết bị có màn hình lớn. Ví dụ: chế độ ghi đè của nhà sản xuất thiết bị OVERRIDE_MIN_ASPECT_RATIO_LARGE đặt tỷ lệ khung hình của ứng dụng thành 16:9 bất kể cấu hình của ứng dụng.

Android 14 QPR1 cho phép người dùng áp dụng chế độ ghi đè cho mỗi ứng dụng thông qua trình đơn cài đặt mới trên các thiết bị có màn hình lớn.

Chia sẻ màn hình ứng dụng

Tính năng chia sẻ màn hình ứng dụng cho phép người dùng chia sẻ một cửa sổ ứng dụng thay vì toàn bộ màn hình thiết bị trong khi ghi nội dung trên màn hình.

Khi chia sẻ màn hình ứng dụng, thanh trạng thái, thanh điều hướng, thông báo và các thành phần khác trên giao diện người dùng của hệ thống sẽ bị loại trừ khỏi màn hình được chia sẻ. Chỉ nội dung của ứng dụng đã chọn mới được chia sẻ.

Tính năng chia sẻ màn hình ứng dụng giúp cải thiện năng suất và quyền riêng tư bằng cách cho phép người dùng chạy nhiều ứng dụng nhưng chỉ giới hạn việc chia sẻ nội dung ở một ứng dụng.

Tính năng Trả lời thông minh dựa trên LLM trong Gboard trên Pixel 8 Pro

Trên các thiết bị Pixel 8 Pro có Bản phát hành tính năng tháng 12, nhà phát triển có thể dùng thử tính năng trả lời thông minh chất lượng cao hơn trong Gboard nhờ các Mô hình ngôn ngữ lớn (LLM) trên thiết bị chạy trên Google Tensor.

Tính năng này được cung cấp dưới dạng bản dùng thử có giới hạn cho tiếng Anh (Hoa Kỳ) trong WhatsApp, Line và KakaoTalk. Bạn cần sử dụng thiết bị Pixel 8 Pro có Gboard làm bàn phím.

Để dùng thử, trước tiên, hãy bật tính năng này trong phần Settings > Developer Options > AiCore Settings > Enable Aicore Persistent (Cài đặt > Tuỳ chọn cho nhà phát triển > Cài đặt AICore > Bật Aicore Persistent).

Tiếp theo, hãy mở một cuộc trò chuyện trong một ứng dụng được hỗ trợ để xem tính năng Trả lời thông minh dựa trên LLM trong dải đề xuất của Gboard để phản hồi tin nhắn đến.

Gboard sử dụng LLM trên thiết bị để cung cấp tính năng phản hồi thông minh chất lượng cao hơn.

Đồ hoạ

Các đường dẫn nay truy vấn được và nội suy được

API Path của Android là một cơ chế mạnh mẽ và linh hoạt để tạo và kết xuất đồ hoạ vectơ, với khả năng vẽ hoặc tô màu đường dẫn, tạo đường dẫn từ các đoạn thẳng hoặc đường cong bậc hai hoặc lập phương, thực hiện các thao tác boolean để có được hình dạng phức tạp hơn nữa hoặc đồng thời tất cả những hình dạng này. Một hạn chế là khả năng tìm hiểu nội dung thực sự trong đối tượng Đường dẫn; nội dung bên trong của đối tượng này được che đi trước các phương thức gọi sau khi tạo.

Để tạo Path, hãy gọi các phương thức như moveTo(), lineTo()cubicTo() để thêm các phân đoạn đường dẫn. Nhưng không có cách nào để truy vấn đường dẫn về các phân đoạn, vì vậy bạn phải giữ lại thông tin đó tại thời điểm tạo.

Kể từ Android 14, bạn có thể truy vấn các đường dẫn để tìm hiểu nội dung bên trong đó. Trước tiên, bạn cần sử dụng Path.getPathIterator API để lấy đối tượng 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();

Tiếp theo, bạn có thể gọi PathIterator để lặp lại từng phân đoạn, truy xuất tất cả dữ liệu cần thiết cho từng phân đoạn. Ví dụ này sử dụng các đối tượng PathIterator.Segment để đóng gói dữ liệu cho bạn:

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 cũng có phiên bản next() không phân bổ, trong đó bạn có thể truyền một bộ đệm để lưu giữ dữ liệu điểm.

Một trong những trường hợp sử dụng quan trọng của việc truy vấn dữ liệu Path là nội suy. Ví dụ: bạn có thể tạo hiệu ứng động (animate) hoặc biến đổi (morph) giữa hai đường dẫn riêng biệt. Để đơn giản hoá trường hợp sử dụng đó hơn nữa, Android 14 cũng bao gồm phương thức interpolate() trên Path. Giả sử hai đường dẫn này có cùng cấu trúc nội bộ, thì phương thức interpolate() sẽ tạo một Path mới với kết quả nội suy đó. Ví dụ này trả về một đường dẫn có hình dạng bằng một nửa (nội suy tuyến tính .5) giữa pathotherPath:

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

Thư viện Jetpack graphics-path cũng kích hoạt các API tương tự cho các phiên bản Android trước đó.

Lưới tuỳ chỉnh có chương trình đổ bóng đỉnh và mảnh

Android từ lâu đã hỗ trợ vẽ lưới tam giác bằng tính năng tô bóng tuỳ chỉnh, nhưng định dạng lưới đầu vào bị giới hạn ở một số tổ hợp thuộc tính được xác định trước. Android 14 hỗ trợ thêm lưới tuỳ chỉnh. Lưới này có thể được xác định là tam giác hoặc dải tam giác và có thể được lập chỉ mục (không bắt buộc). Các lưới này được chỉ định bằng các thuộc tính tuỳ chỉnh, bước đỉnh, thay đổi, chương trình đổ bóng đỉnh và mảnh được viết bằng AGSL.

Chương trình đổ bóng đỉnh xác định các biến thể, chẳng hạn như vị trí và màu sắc, trong khi chương trình đổ bóng mảnh có thể tuỳ ý xác định màu cho pixel, thường là bằng cách sử dụng các biến thể do chương trình đổ bóng đỉnh tạo ra. Nếu màu được cung cấp bởi chương trình đổ bóng mảnh, thì màu đó sẽ được kết hợp với màu Paint hiện tại bằng cách sử dụng chế độ kết hợp được chọn khi vẽ lưới. Bạn có thể truyền Bộ đồng nhất vào chương trình đổ bóng mảnh và đỉnh để tăng tính linh hoạt.

Trình kết xuất vùng đệm phần cứng cho Canvas

Để hỗ trợ việc sử dụng API Canvas của Android nhằm vẽ bằng tính năng tăng tốc phần cứng vào HardwareBuffer, Android 14 sẽ ra mắt HardwareBufferRenderer. API này là đặc biệt hữu ích khi trường hợp sử dụng của bạn liên quan đến hoạt động giao tiếp với hệ thống trình tổng hợp thông qua SurfaceControl để có độ trễ thấp bản vẽ.