+2

Giới thiệu một số tính năng mới trong Android O (Phần I)

Android O giới thiệu nhiều tính năng và khả năng mới cho người dùng và nhà phát triển. Bài viết này nêu bật những tính năng mới cho các nhà phát triển.

Thông báo

Trong Android O, Google đã thiết kế lại thông báo để cung cấp một cách dễ dàng và nhất quán hơn để quản lý hành vi và cài đặt thông báo. Những thay đổi này bao gồm:

  • Kênh thông báo: Android O giới thiệu các kênh thông báo cho phép bạn tạo kênh do người dùng tùy chỉnh cho từng loại thông báo bạn muốn hiển thị. Giao diện người dùng đề cập đến các kênh thông báo như các loại thông báo. Để tìm hiểu cách triển khai các kênh thông báo, hãy xem Hướng dẫn Kênh Thông báo .
  • Báo lại: Người dùng có thể báo lại thông báo để xuất hiện trở lại vào một thời điểm sau. Thông báo xuất hiện lại cùng với mức độ quan trọng mà họ lần đầu tiên xuất hiện. Ứng dụng có thể xóa hoặc cập nhật thông báo đã tạm ẩn nhưng cập nhật thông báo đã tạm ẩn không làm cho ứng dụng xuất hiện lại.
  • Thời gian chờ thông báo: Bây giờ bạn có thể đặt thời gian chờ khi tạo thông báo bằng Notification.Builder.setTimeout() . Bạn có thể sử dụng phương thức này để chỉ định một khoảng thời gian sau đó một thông báo sẽ bị hủy bỏ. Nếu được yêu cầu, bạn có thể hủy thông báo trước khi khoảng thời gian chờ đã chỉ định trôi qua.
  • Loại bỏ Thông báo: Giờ đây, hệ thống sẽ phân biệt thông báo bị dismiss bởi một ứng dụng hay người dùng. Để kiểm tra cách thông báo bị loại bỏ, bạn nên implement phương thức onNotificationRemoved() của lớp NotificationListenerService .
  • Màu nền: Giờ đây bạn có thể đặt và bật màu nền cho thông báo. Bạn chỉ nên sử dụng tính năng này trong thông báo cho các tác vụ đang diễn ra, điều này rất quan trọng cho người dùng xem nhanh. Ví dụ: bạn có thể đặt màu nền cho thông báo liên quan đến chỉ đường lái xe hoặc đang gọi điện thoại. Bạn cũng có thể thiết lập màu nền mong muốn bằng Notification.Builder.setColor() . Làm như vậy cho phép bạn sử dụng Notification.Builder.setColorized() để cho phép sử dụng màu nền cho thông báo.
  • Kiểu Message: Các thông báo sử dụng lớp MessagingStyle để hiển thị nhiều nội dung hơn trong dạng thu gọn của chúng. Bạn nên sử dụng lớp MessagingStyle cho các thông báo có liên quan đến tin nhắn. Bạn cũng có thể sử dụng phương thức addHistoricMessage() để cung cấp bối cảnh cho một cuộc trò chuyện bằng cách thêm thông tin lịch sử vào các thông báo liên quan đến tin nhắn. Hình 1. Thông báo trong Android O. Hình 1. Thông báo trong Android O.

Autofill Framework

Việc tạo tài khoản, đăng nhập và giao dịch thẻ tín dụng mất nhiều thời gian và dễ bị lỗi. Người dùng có thể dễ cảm thấy phiền hà với các ứng dụng yêu cầu các loại công việc lặp đi lặp lại.

Android O làm cho việc điền vào các biểu mẫu, chẳng hạn như biểu mẫu đăng nhập và thẻ tín dụng, dễ dàng hơn với việc đưa vào Autofill Framework. Ứng dụng hiện tại và ứng dụng mới đều hoạt động với Autofill Framework sau khi người dùng chọn tự động điền.

Bạn có thể thực hiện một số bước để tối ưu hóa cách ứng dụng của bạn hoạt động với framework. Để biết thêm thông tin, hãy xem Tổng quan về Autofill Framework.

Chế độ hình ảnh trong ảnh (Picture-in-Picture)

Android O cho phép các Activity khởi chạy trong chế độ hình ảnh trong hình (PIP). PIP là một loại multi-window đặc biệt được sử dụng cho các tác vụ play video. Chế độ PIP đã có sẵn cho Android TV; Android O làm cho tính năng này có sẵn trên các thiết bị Android khác.

Khi một Activity ở chế độ PIP, nó ở trạng thái tạm dừng, nhưng cần tiếp tục hiển thị nội dung. Vì lý do này, bạn nên đảm bảo rằng ứng dụng của bạn không tạm dừng phát video trong trình xử lý onPause() của nó. Thay vào đó, bạn nên tạm dừng video trong onStop() và tiếp tục phát lại trong onStart() . Để biết thêm thông tin, xem Multi-Window Lifecycle.

Để chỉ định Activity của bạn có thể sử dụng chế độ PIP, hãy cài đặt android:supportsPictureInPicture thành true trong Manifest. (Bắt đầu với Android O, bạn không cần phải đặt android:resizeableActivity thành true nếu bạn đang hỗ trợ chế độ PIP, trên Android TV hoặc trên các thiết bị Android khác; bạn chỉ cần cài android:resizeableActivity nếu Activity của bạn hỗ trợ chế độ multi-window khác).

Thay đổi API

Android O giới thiệu một đối tượng mới, PictureInPictureArgs , để chỉ định Activity sẽ hoạt động như thế nào khi nó ở chế độ PIP. Đối tượng này chỉ định các thuộc tính như tỷ lệ khung hình ưa thích của Activity.

Các phương thức PIP hiện có được mô tả trong Adding Picture-in-picture bây giờ có thể được sử dụng trên tất cả các thiết bị Android, không chỉ trên Android TV. Ngoài ra, Android O cung cấp các phương thức sau để hỗ trợ chế độ PIP:

  • Activity.enterPictureInPictureMode(PictureInPictureArgs args): Đặt Activity ở chế độ picture-in-picture. Aspect ratio của Activity và các cài đặt cấu hình khác được chỉ định bởi args . Nếu bất kỳ trường nào trong các đối số là rỗng, hệ thống sẽ sử dụng các giá trị được cài đặt trong lần cuối cùng bạn gọi Activity.setPictureInPictureArgs(). Activity được chỉ định được đặt ở một góc màn hình; Phần còn lại của màn hình được lấp đầy với các Activity trước đó đã được hiện trên màn hình. Activity ở chế độ PIP đi vào trạng thái tạm dừng nhưng vẫn được bắt đầu. Nếu người dùng chạm vào Activity đang ở PIP, hệ thống sẽ hiển thị một menu cho người dùng tương tác; Không có sự kiện cảm ứng nào truyền đến Activity trong khi nó ở trạng thái PIP.
  • Activity.setPictureInPictureArgs() Cập nhật cài đặt cấu hình PIP của Activity. Nếu Activity hiện đang ở chế độ PIP, cài đặt sẽ được cập nhật; Điều này rất hữu ích nếu aspect ratio của Activity thay đổi. Nếu Activity không ở chế độ PIP, các cài đặt cấu hình này được sử dụng bất kể phương thức enterPictureInPictureMode() mà bạn gọi.

Làm việc với phông chữ

Android O giới thiệu một tính năng mới, Phông chữ trong XML, cho phép bạn sử dụng phông chữ làm resource. Điều này có nghĩa là không cần dùng phông như assets như trước kia. Phông chữ được biên dịch trong tập tin R và tự động có sẵn trong hệ thống như là một tài nguyên. Sau đó, bạn có thể truy cập các phông chữ này với sự trợ giúp của loại tài nguyên mới, font. Android O cũng cung cấp cơ chế để truy xuất thông tin liên quan đến phông chữ hệ thống và cung cấp trình mô tả tập tin. Để biết thêm thông tin, về cách sử dụng phông chữ làm tài nguyên và lấy các phông chữ hệ thống, xem Làm việc với phông chữ.

Adaptive icons

Android O giới thiệu Adaptive icons dành cho launcher icon. Các Adaptive icons hỗ trợ các hiệu ứng hình ảnh và có thể hiển thị nhiều hình dạng khác nhau trên các thiết bị khác nhau. Để tìm hiểu làm thế nào để tạo ra các Adaptive icons, xem hướng dẫn Adaptive Icons.

Quản lý màu

Các nhà phát triển ứng dụng liên quan đến hình ảnh của Android giờ đây có thể tận dụng các thiết bị mới với màn hình có dải màu sắc rộng. Để hiển thị hình ảnh với dải màu rộng, ứng dụng sẽ cần phải bật cờ trong Manifest của chúng (trên mỗi Activity) và tải bitmap với một cấu hình màu rộng được nhúng (AdobeRGB, Pro Photo RGB, DCI-P3, v.v ...).

Wi-Fi Aware

Android O bổ sung thêm hỗ trợ Wi-Fi Aware, được dựa trên đặc tả NAN (Neighbor Awareness Networking). Trên thiết bị có phần cứng Wi-Fi Aware thích hợp, ứng dụng và các thiết bị lân cận có thể khám phá và giao tiếp qua Wi-Fi mà không cần điểm truy cập Internet. Google đang làm việc với các đối tác phần cứng để đưa công nghệ Aware Wi-Fi đến các thiết bị càng sớm càng tốt. Để biết thông tin về cách tích hợp Wi-Fi Aware vào ứng dụng của bạn, xem phần Wi-Fi Aware.

Ghép nối thiết bị đồng hành

Android O cung cấp các API cho phép bạn tùy chỉnh hộp thoại yêu cầu ghép nối khi cố gắng ghép nối với thiết bị đồng hành qua Bluetooth, BLE và Wi-Fi. Để biết thêm thông tin, hãy xem Ghép thiết bị đồng hành.

Để biết thêm thông tin về cách sử dụng Bluetooth trên Android, hãy xem hướng dẫn về Bluetooth. Để thay đổi Bluetooth dành riêng cho Android O, hãy xem phần Bluetooth của trang Thay đổi Hành vi Ứng dụng Android O.

API WebView

Android O cung cấp một số API để giúp bạn quản lý các đối tượng WebView hiển thị nội dung web trong ứng dụng của bạn. Các API này cải thiện tính ổn định và bảo mật của ứng dụng bao gồm:

  • Version API
  • Google SafeBrowsing API
  • Termination Handle API
  • Renderer Importance API Để tìm hiểu thêm về cách sử dụng các API này, xem Quản lý WebViews.

(Còn tiếp)

(Lược dịch từ https://developer.android.com/preview/api-overview.html?hl=vi)


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí