ระดับ 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 ระดับคืออะไร