API Android 2.3.3

Cấp độ API: 10

Android 2.3.3 (GINGERBREAD_MR1) là một bản phát hành tính năng nhỏ bổ sung một số điểm cải tiến và API vào nền tảng Android 2.3.

Đối với nhà phát triển, nền tảng Android 2.3.3 có sẵn dưới dạng một thành phần có thể tải xuống cho SDK Android. Nền tảng có thể tải xuống bao gồm thư viện Android và hình ảnh hệ thống, cũng như một bộ giao diện trình mô phỏng và nhiều nội dung khác. Để bắt đầu phát triển hoặc kiểm thử trên Android 2.3.3, hãy sử dụng Trình quản lý SDK Android để tải nền tảng này xuống SDK của bạn.

Tổng quan về API

Các phần dưới đây cung cấp thông tin tổng quan kỹ thuật về tính năng mới dành cho nhà phát triển trong phiên bản 2.3.3, bao gồm các tính năng mới và thay đổi trong API khung kể từ phiên bản trước.

Giao tiếp phạm vi gần (NFC)

Android 2.3.3 cải thiện và mở rộng khả năng hỗ trợ NFC, cho phép các ứng dụng tương tác với nhiều loại thẻ theo những cách mới.

Một bộ API mới, toàn diện cho phép ứng dụng đọc và ghi vào nhiều công nghệ thẻ tiêu chuẩn hơn, bao gồm:

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • MIFARE Classic
  • MIFARE Ultralight
  • Thẻ NDEF của NFC Forum

Nền tảng này cũng cung cấp một giao thức giao tiếp ngang hàng và API có giới hạn. Hoạt động trên nền trước có thể sử dụng API để đăng ký một thông báo NDEF sẽ được đẩy đến các thiết bị NFC khác khi chúng kết nối.

Giờ đây, tính năng điều phối thẻ nâng cao giúp các ứng dụng có nhiều quyền kiểm soát hơn đối với cách thức và thời điểm khởi chạy, khi phát hiện thấy thẻ NFC. Trước đây, nền tảng này sử dụng một phương thức gửi ý định một bước để thông báo cho các ứng dụng quan tâm rằng một thẻ đã được phát hiện. Nền tảng hiện sử dụng quy trình gồm 4 bước cho phép ứng dụng trên nền trước kiểm soát sự kiện thẻ trước khi sự kiện đó được chuyển đến bất kỳ ứng dụng nào khác (android.nfc.NfcAdapter.enableForegroundDispatch()). Quy trình điều phối mới cũng cho phép ứng dụng nghe nội dung thẻ và công nghệ thẻ cụ thể, dựa trên hai hành động theo ý định mới – android.nfc.action.NDEF_DISCOVEREDandroid.nfc.action.TECH_DISCOVERED.

API NFC có trong các gói android.nfcandroid.nfc.tech. Các lớp chính là:

  • NfcAdapter, đại diện cho phần cứng NFC trên thiết bị.
  • NdefMessage, đại diện cho thông báo dữ liệu NDEF, định dạng chuẩn trong đó "bản ghi" mang dữ liệu được truyền giữa thiết bị và thẻ. Một thông báo NDEF nhất định có nhiều bản ghi NDEF thuộc nhiều loại. Ứng dụng có thể nhận các thông báo này từ ý định NDEF_DISCOVERED, TECH_DISCOVERED hoặc TAG_DISCOVERED.
  • NdefRecord, được phân phối trong NdefMessage, mô tả loại dữ liệu đang được chia sẻ và tự mang dữ liệu đó.
  • Tag, đại diện cho một thẻ được thiết bị quét. Nhiều loại thẻ được hỗ trợ, dựa trên công nghệ thẻ cơ bản.
  • TagTechnology, một giao diện cấp cho các ứng dụng quyền truy cập vào các thuộc tính thẻ và hoạt động I/O dựa trên các công nghệ có trong thẻ. Để xem danh sách đầy đủ các công nghệ thẻ được hỗ trợ trong Android 2.3.3, hãy xem android.nfc.tech.

Giao tiếp NFC dựa vào công nghệ không dây trong phần cứng của thiết bị và không có trong tất cả các thiết bị Android. Các thiết bị Android không hỗ trợ NFC sẽ trả về một đối tượng rỗng khi gọi getDefaultAdapter(Context)context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) sẽ trả về false. Tuy nhiên, API NFC luôn có sẵn, bất kể tính năng hỗ trợ phần cứng cơ bản.

Để sử dụng NFC API, ứng dụng phải yêu cầu người dùng cấp quyền bằng cách khai báo <uses-permission android:name="android.permission.NFC"> trong tệp kê khai.

Ngoài ra, nhà phát triển có thể yêu cầu lọc trên Google Play để người dùng có thiết bị không hỗ trợ NFC không thể tìm thấy ứng dụng của họ. Để yêu cầu lọc, hãy thêm <uses-feature android:name="android.hardware.nfc" android:required="true"> vào tệp kê khai của ứng dụng.

Để biết thêm thông tin, hãy đọc hướng dẫn dành cho nhà phát triển về NFC.

Bluetooth

Android 2.3.3 bổ sung tính năng hỗ trợ nền tảng và API cho các kết nối ổ cắm không an toàn của Bluetooth. Điều này cho phép các ứng dụng giao tiếp với các thiết bị đơn giản có thể không cung cấp giao diện người dùng để xác thực. Hãy xem createInsecureRfcommSocketToServiceRecord(java.util.UUID)listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID) để biết thêm thông tin.

Đồ hoạ

  • Lớp BitmapRegionDecoder mới cho phép các ứng dụng giải mã vùng hình chữ nhật từ hình ảnh. API này đặc biệt hữu ích khi hình ảnh gốc có kích thước lớn và ứng dụng chỉ cần một phần của hình ảnh.
  • Trường inPreferQualityOverSpeed mới trong BitmapFactory.Options cho phép các ứng dụng sử dụng phương thức IDCT chính xác hơn nhưng hơi chậm hơn trong quá trình giải mã JPEG. Điều này giúp cải thiện chất lượng của hình ảnh được tái tạo.

Khung nội dung nghe nhìn

Nhận dạng lời nói

API nhận dạng lời nói bao gồm các hằng số mới để cho phép bạn quản lý kết quả tìm kiếm bằng giọng nói theo những cách mới. Mặc dù không cần hằng số mới để sử dụng tính năng nhận dạng lời nói thông thường, nhưng bạn có thể sử dụng các hằng số này để cung cấp một chế độ xem khác về kết quả tìm kiếm bằng giọng nói trong ứng dụng của mình. Để biết thông tin, hãy xem RecognizerResultsIntent.

Cấp độ API:

Nền tảng Android 2.3.3 cung cấp phiên bản cập nhật của API khung. API Android 2.3.3 được gán một giá trị nhận dạng số nguyên – 10 – được lưu trữ trong chính hệ thống. Giá trị nhận dạng này, được gọi là "Cấp độ API", cho phép hệ thống xác định chính xác xem một ứng dụng có tương thích với hệ thống hay không trước khi cài đặt ứng dụng.

Để sử dụng các API được giới thiệu trong Android 2.3.3 trong ứng dụng, bạn cần biên dịch ứng dụng dựa trên thư viện Android được cung cấp trong nền tảng SDK Android 2.3.3. Tuỳ thuộc vào nhu cầu, bạn cũng có thể cần thêm thuộc tính android:minSdkVersion="10" vào phần tử <uses-sdk> trong tệp kê khai của ứng dụng. Nếu ứng dụng của bạn được thiết kế để chỉ chạy trên Android 2.3 trở lên, thì việc khai báo thuộc tính này sẽ ngăn ứng dụng được cài đặt trên các phiên bản nền tảng trước đó.

Để biết thêm thông tin, hãy đọc bài viết Cấp độ API là gì?