API ของ Android 2.3.3

ระดับ API: 10

Android 2.3.3 (GINGERBREAD_MR1) เป็นรุ่นที่มีฟีเจอร์เล็กๆ น้อยๆ ซึ่งเพิ่มการปรับปรุงและ API หลายรายการลงในแพลตฟอร์ม Android 2.3

สําหรับนักพัฒนาแอป แพลตฟอร์ม Android 2.3.3 มีให้บริการเป็นคอมโพเนนต์ที่ดาวน์โหลดได้สําหรับ Android SDK แพลตฟอร์มที่ดาวน์โหลดได้ประกอบด้วยคลัง Android และภาพระบบ รวมถึงชุดสกินโปรแกรมจำลองและอื่นๆ หากต้องการเริ่มพัฒนาหรือทดสอบกับ Android 2.3.3 ให้ใช้เครื่องมือจัดการ Android SDK เพื่อดาวน์โหลดแพลตฟอร์มลงใน SDK

ภาพรวมของ API

ส่วนด้านล่างนี้แสดงภาพรวมทางเทคนิคเกี่ยวกับฟีเจอร์ใหม่สำหรับนักพัฒนาซอฟต์แวร์ใน 2.3.3 รวมถึงฟีเจอร์ใหม่และการเปลี่ยนแปลงในเฟรมเวิร์ก API นับตั้งแต่เวอร์ชันก่อนหน้า

Near Field Communication (NFC)

Android 2.3.3 มีการปรับปรุงและขยายการรองรับ NFC เพื่ออนุญาตให้แอปพลิเคชันโต้ตอบกับแท็กประเภทต่างๆ เพิ่มเติมด้วยวิธีใหม่ๆ

ชุด API ใหม่ที่ครอบคลุมจะช่วยให้แอปพลิเคชันมีสิทธิ์อ่านและเขียนเทคโนโลยีแท็กมาตรฐานที่หลากหลายมากขึ้น ซึ่งรวมถึงเทคโนโลยีต่อไปนี้

  • 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
  • แท็ก NDEF ของ NFC Forum

นอกจากนี้ แพลตฟอร์มยังมีโปรโตคอลการสื่อสารแบบ peer-to-peer และ API แบบจำกัดด้วย กิจกรรมที่ทำงานอยู่เบื้องหน้าสามารถใช้ API เพื่อลงทะเบียนข้อความ NDEF ที่ระบบจะส่งไปยังอุปกรณ์ NFC อื่นๆ เมื่อเชื่อมต่อ

ตอนนี้การส่งแท็กขั้นสูงช่วยให้แอปพลิเคชันควบคุมวิธีและเวลาเปิดแอปได้มากขึ้นเมื่อตรวจพบแท็ก NFC ก่อนหน้านี้ แพลตฟอร์มใช้การส่ง Intent แบบขั้นตอนเดียวเพื่อแจ้งให้แอปพลิเคชันที่เกี่ยวข้องทราบว่าพบแท็ก ตอนนี้แพลตฟอร์มใช้กระบวนการ 4 ขั้นตอนที่ช่วยให้แอปพลิเคชันที่ทำงานอยู่เบื้องหน้าควบคุมเหตุการณ์แท็กได้ก่อนที่จะส่งไปยังแอปพลิเคชันอื่นๆ (android.nfc.NfcAdapter.enableForegroundDispatch()) นอกจากนี้ กระบวนการส่งใหม่ยังช่วยให้แอปฟังเนื้อหาแท็กและเทคโนโลยีแท็กที่เฉพาะเจาะจงได้ โดยอิงตามการดำเนินการตาม Intent ใหม่ 2 รายการ ได้แก่ android.nfc.action.NDEF_DISCOVERED และ android.nfc.action.TECH_DISCOVERED

NFC API มีให้บริการในแพ็กเกจ android.nfc และ android.nfc.tech คลาสหลักๆ มีดังนี้

  • NfcAdapter ซึ่งแสดงถึงฮาร์ดแวร์ NFC ในอุปกรณ์
  • NdefMessage ซึ่งแสดงข้อความข้อมูล NDEF ซึ่งเป็นรูปแบบมาตรฐานในการส่ง "ระเบียน" ที่มีข้อมูลระหว่างอุปกรณ์กับแท็ก ข้อความ NDEF หนึ่งๆ มีระเบียน NDEF หลายรายการประเภทต่างๆ แอปพลิเคชันสามารถรับข้อความเหล่านี้จาก Intent ของ NDEF_DISCOVERED, TECH_DISCOVERED หรือ TAG_DISCOVERED
  • NdefRecord ที่ส่งใน NdefMessage ซึ่งจะอธิบายประเภทข้อมูลที่แชร์และนําข้อมูลนั้นไปด้วย
  • Tag ซึ่งแสดงแท็กที่อุปกรณ์สแกน ระบบรองรับแท็กหลายประเภท โดยขึ้นอยู่กับเทคโนโลยีแท็กพื้นฐาน
  • TagTechnology ซึ่งเป็นอินเทอร์เฟซที่ให้สิทธิ์แอปพลิเคชันเข้าถึงพร็อพเพอร์ตี้แท็กและการดำเนินการ I/O ตามเทคโนโลยีที่มีอยู่ในแท็ก ดูรายการเทคโนโลยีแท็กทั้งหมดที่รองรับใน Android 2.3.3 ได้ที่ android.nfc.tech

การสื่อสาร NFC อาศัยเทคโนโลยีไร้สายในฮาร์ดแวร์ของอุปกรณ์ และไม่มีอยู่ในอุปกรณ์ Android บางรุ่น อุปกรณ์ Android ที่ไม่รองรับ NFC จะแสดงออบเจ็กต์ Null เมื่อเรียกใช้ getDefaultAdapter(Context) และ context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) จะแสดง false อย่างไรก็ตาม NFC API จะพร้อมใช้งานเสมอ ไม่ว่าจะมีการรองรับฮาร์ดแวร์ที่เกี่ยวข้องหรือไม่ก็ตาม

หากต้องการใช้ NFC API แอปพลิเคชันต้องขอสิทธิ์จากผู้ใช้ด้วยการประกาศ <uses-permission android:name="android.permission.NFC"> ในไฟล์ Manifest

นอกจากนี้ นักพัฒนาแอปยังขอการกรองใน Google Play ได้ด้วย เช่น ไม่ให้ผู้ใช้ที่อุปกรณ์ไม่รองรับ NFC ค้นพบแอปพลิเคชัน หากต้องการขอการกรอง ให้เพิ่ม <uses-feature android:name="android.hardware.nfc" android:required="true"> ลงในไฟล์ Manifest ของแอปพลิเคชัน

อ่านข้อมูลเพิ่มเติมได้ที่คู่มือนักพัฒนาแอป NFC

บลูทูธ

Android 2.3.3 เพิ่มการรองรับแพลตฟอร์มและ API สำหรับการเชื่อมต่อผ่านซ็อกเก็ตที่ไม่ปลอดภัยของบลูทูธ ซึ่งช่วยให้แอปพลิเคชันสื่อสารกับอุปกรณ์แบบง่ายที่อาจไม่มี UI สำหรับการตรวจสอบสิทธิ์ได้ ดูข้อมูลเพิ่มเติมที่ createInsecureRfcommSocketToServiceRecord(java.util.UUID) และ listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)

กราฟิก

  • คลาส BitmapRegionDecoder ใหม่ช่วยให้แอปพลิเคชันถอดรหัสพื้นที่สี่เหลี่ยมผืนผ้าจากรูปภาพได้ API นี้มีประโยชน์อย่างยิ่งเมื่อรูปภาพต้นฉบับมีขนาดใหญ่และแอปพลิเคชันต้องการเพียงบางส่วนของรูปภาพ
  • ช่อง inPreferQualityOverSpeed ใหม่ใน BitmapFactory.Options ช่วยให้แอปพลิเคชันใช้วิธีการ IDCT ที่แม่นยำยิ่งขึ้นแต่ช้ากว่าเล็กน้อยในการถอดรหัส JPEG ซึ่งจะช่วยปรับปรุงคุณภาพของรูปภาพที่สร้างขึ้นใหม่

เฟรมเวิร์กสื่อ

  • คลาส MediaMetadataRetriever ใหม่มีอินเทอร์เฟซแบบรวมสำหรับการดึงข้อมูลเฟรมและข้อมูลเมตาจากไฟล์สื่ออินพุต
  • MediaRecorder.AudioEncoder และ MediaRecorder.OutputFormat มีช่องใหม่สำหรับการระบุรูปแบบ AMR แบบแถบความถี่กว้างและ AAC

การจดจำคำพูด

Speech-recognition API มีค่าคงที่ใหม่ที่ช่วยให้คุณจัดการผลการค้นหาด้วยเสียงด้วยวิธีใหม่ๆ แม้ว่าจะไม่จําเป็นต้องใช้ค่าคงที่ใหม่สําหรับการใช้การจดจําคําพูดตามปกติ แต่คุณก็ใช้ค่าเหล่านี้เพื่อแสดงมุมมองผลการค้นหาด้วยเสียงที่แตกต่างออกไปในแอปพลิเคชันได้ โปรดดูข้อมูลใน RecognizerResultsIntent

ระดับ API

แพลตฟอร์ม Android 2.3.3 มี API เฟรมเวิร์กเวอร์ชันอัปเดต Android 2.3.3 API ได้รับตัวระบุจำนวนเต็ม 10 ซึ่งจัดเก็บไว้ในระบบ ตัวระบุนี้เรียกว่า "ระดับ API" ซึ่งช่วยให้ระบบสามารถระบุได้อย่างถูกต้องว่าแอปพลิเคชันเข้ากันได้กับระบบหรือไม่ก่อนที่จะติดตั้งแอปพลิเคชัน

หากต้องการใช้ API ที่เปิดตัวใน Android 2.3.3 ในแอปพลิเคชัน คุณจะต้องคอมไพล์แอปพลิเคชันกับไลบรารี Android ที่มีให้ในแพลตฟอร์ม SDK ของ Android 2.3.3 คุณอาจต้องเพิ่มแอตทริบิวต์ android:minSdkVersion="10" ลงในองค์ประกอบ <uses-sdk> ในไฟล์ Manifest ของแอปพลิเคชันด้วย ทั้งนี้ขึ้นอยู่กับความต้องการ หากแอปพลิเคชันออกแบบมาให้ทำงานบน Android 2.3 ขึ้นไปเท่านั้น การประกาศแอตทริบิวต์จะป้องกันไม่ให้ติดตั้งแอปพลิเคชันในแพลตฟอร์มเวอร์ชันเก่า

ดูข้อมูลเพิ่มเติมได้ที่API ระดับคืออะไร