ระดับ API: 10
Android 2.3.4 (GINGERBREAD_MR1
)
เป็นรุ่นปรับปรุง โดยมีการเพิ่มการแก้ไขข้อบกพร่องและแพตช์หลายรายการ
บนแพลตฟอร์ม Android 2.3 โดยไม่มีการเปลี่ยนแปลง API จาก Android 2.3.3 นอกจากนี้ Android 2.3.4 ยังรองรับ Open Accessory API ในอุปกรณ์เคลื่อนที่ผ่านไลบรารี Open Accessory (ไม่บังคับ)
สำหรับนักพัฒนาแอป แพลตฟอร์ม Android 2.3.4 มีให้บริการเป็นคอมโพเนนต์ที่ดาวน์โหลดได้สำหรับ Android SDK แพลตฟอร์มที่ดาวน์โหลดได้ประกอบด้วยคลัง Android และภาพระบบ รวมถึงชุดสกินโปรแกรมจำลองและอื่นๆ หากต้องการเริ่มพัฒนาหรือทดสอบกับ Android 2.3.4 ให้ใช้เครื่องมือจัดการ Android SDK เพื่อดาวน์โหลดแพลตฟอร์มลงใน SDK
ภาพรวมของ API
Android 2.3.4 มีเฟรมเวิร์ก API เดียวกันในแอปพลิเคชัน เช่น Android 2.3.3 (API ระดับ 10) สำหรับข้อมูลสรุปของ API โปรดดู หมายเหตุของเวอร์ชัน Android 2.3.3
เปิดคลังอุปกรณ์เสริม
อุปกรณ์เสริมแบบเปิดเป็นความสามารถใหม่ในการผสานรวมอุปกรณ์ต่อพ่วงที่เชื่อมต่อกับแอปพลิเคชันที่ทำงานบนแพลตฟอร์ม ความสามารถ ขึ้นอยู่กับสแต็ก USB (Universal Serial Bus) ที่มีอยู่ในแพลตฟอร์ม และ เปิดเผย API ในแอปพลิเคชันแล้ว อุปกรณ์ต่อพ่วงที่ยึดกับอุปกรณ์ที่ใช้ Android เป็นอุปกรณ์เสริม เชื่อมต่อเป็นโฮสต์ USB
อุปกรณ์เสริมแบบเปิดเปิดตัวใน Android 3.1 (API ระดับ 12) แต่พร้อมใช้งานในอุปกรณ์ที่ใช้ Android 2.3.4 ผ่านไลบรารีภายนอกที่ไม่บังคับอย่างไลบรารีอุปกรณ์เสริมแบบเปิด ไลบรารีจะแสดง API ของเฟรมเวิร์ก ช่วยให้แอปพลิเคชันค้นพบ สื่อสาร และจัดการอุปกรณ์ต่างๆ ได้ ประเภทที่เชื่อมต่อผ่าน USB และยังติดตั้งใช้งาน API กับ ส่วนของแพลตฟอร์ม Android ที่ไม่เปิดเผยโดยตรงกับแอปพลิเคชันใน Android 2.3.4
คุณเลือกใช้คลังอุปกรณ์เสริมแบบเปิดในอุปกรณ์ใดก็ได้ อุปกรณ์ ผู้ผลิตสามารถเลือกได้ว่าจะรวมไลบรารีอุปกรณ์เสริมแบบเปิด (Open Accessory Library) ไว้ใน ผลิตภัณฑ์หรือยกเว้นผลิตภัณฑ์นั้นๆ ไลบรารีนี้สามารถทำงานร่วมกับ Android 3.1 ไปข้างหน้าได้ ดังนั้น แอปพลิเคชันที่พัฒนาเทียบกับ Android 2.3.4 จะทำงานอย่างถูกต้องบนอุปกรณ์ ที่ใช้ Android 3.1 ถ้าอุปกรณ์เหล่านั้นรองรับอุปกรณ์เสริม USB
API ที่ให้บริการโดยไลบรารีอุปกรณ์เสริมแบบเปิดนั้นอิงตามอุปกรณ์เสริมแบบเปิด API มีให้ใน Android 3.1 ในส่วนต่างๆ ส่วนใหญ่ คุณจะใช้เทคนิคและ API เดียวกันได้ อย่างไรก็ตาม การพัฒนาสำหรับไลบรารีอุปกรณ์เสริมแบบเปิดบน Android 2.3.4 นั้นต่างออกไป จาก USB API มาตรฐานได้ด้วยวิธีต่อไปนี้
- การรับออบเจ็กต์
UsbManager
— ในการรับ ออบเจ็กต์UsbManager
เมื่อใช้ไลบรารีของส่วนเสริม ใช้เมธอดตัวช่วยgetInstance()
แทนที่จะเป็นgetSystemService()
ดังตัวอย่างต่อไปนี้Kotlin
val manager = UsbManager.getInstance(this)
Java
UsbManager manager = UsbManager.getInstance(this);
- การรับ
UsbAccessory
จาก Intent ที่กรองแล้ว — เมื่อกรองหาอุปกรณ์หรืออุปกรณ์เสริมที่เชื่อมต่อด้วยความตั้งใจ ตัวกรอง มีออบเจ็กต์UsbAccessory
อยู่ ภายใน Intent ที่ส่งไปยังแอปพลิเคชันของคุณ หากคุณกำลังใช้ ไลบรารีส่วนเสริม คุณจะรับออบเจ็กต์UsbAccessory
ได้ ในลักษณะดังต่อไปนี้Kotlin
val accessory = UsbManager.getAccessory(intent)
Java
UsbAccessory accessory = UsbManager.getAccessory(intent)
- ไม่รองรับโฮสต์ USB - Android 2.3.4 และ Open Accessory Library ไม่รองรับโหมดโฮสต์ USB (เช่น ผ่าน
UsbDevice
) แม้ว่า Android 3.1 จะรองรับโหมดโฮสต์ USB ก็ตาม อุปกรณ์ Android ที่ใช้ Android 2.3.4 จะทํางานเป็นโฮสต์ USB ไม่ได้ ไลบรารีช่วยให้อุปกรณ์ที่ใช้ Android สามารถทำงาน อุปกรณ์ต่อพ่วงเท่านั้น โดยที่อุปกรณ์เสริมที่เชื่อมต่อทำหน้าที่เป็นโฮสต์ USB (ผ่านUsbAccessory
)
หากต้องการพัฒนาแอปโดยใช้คลังอุปกรณ์เสริมแบบเปิด คุณต้องมีสิ่งต่อไปนี้
- เครื่องมือ Android SDK เวอร์ชันล่าสุด
- ส่วนเสริม Google APIs เวอร์ชันล่าสุดซึ่งมีไลบรารี นั้นเอง (สำหรับการลิงก์)
- อุปกรณ์ฮาร์ดแวร์จริงที่ใช้ Android 2.3.4 (หรือ Android 3.1) พร้อม USB การรองรับอุปกรณ์เสริม สำหรับการทดสอบรันไทม์กับอุปกรณ์ที่เชื่อมต่อ
ดูการพูดคุยแบบเต็มเกี่ยวกับวิธีพัฒนาแอปพลิเคชันที่โต้ตอบกับอุปกรณ์เสริม USB ได้ที่เอกสารสำหรับนักพัฒนาซอฟต์แวร์ที่เกี่ยวข้อง
นอกจากนี้ นักพัฒนาซอฟต์แวร์ยังสามารถขอให้กรองใน Google Play แอปพลิเคชันของตนจะไม่พร้อมให้บริการสำหรับผู้ใช้ที่ไม่มีอุปกรณ์ให้ การสนับสนุนอุปกรณ์เสริมที่เหมาะสม หากต้องการขอการกรอง ให้เพิ่มองค์ประกอบด้านล่างลงในไฟล์ Manifest ของแอปพลิเคชัน
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
ระดับ API
แพลตฟอร์ม Android 2.3.4 ไม่ทำให้ระดับ API เพิ่มขึ้น โดยใช้ระดับ API เดียวกับ Android 2.3.3 API ระดับ 10
หากต้องการใช้ API ที่เปิดตัวใน API ระดับ 10 ในแอปพลิเคชัน คุณจะต้องคอมไพล์แอปพลิเคชันกับไลบรารี Android ที่มีให้ในส่วนเสริม Google APIs เวอร์ชันล่าสุด ซึ่งรวมถึง Open Accessory Library ด้วย
คุณอาจต้องเพิ่มแอตทริบิวต์ android:minSdkVersion="10"
ลงในองค์ประกอบ <uses-sdk>
ในไฟล์ Manifest ของแอปพลิเคชันด้วย ทั้งนี้ขึ้นอยู่กับความต้องการ หากแอปพลิเคชันออกแบบมาเพื่อทำงานบน Android 2.3.3 ขึ้นไปเท่านั้น การประกาศแอตทริบิวต์จะป้องกันไม่ให้ติดตั้งแอปพลิเคชันในแพลตฟอร์มเวอร์ชันเก่า
สำหรับข้อมูลเพิ่มเติม โปรดอ่าน API คืออะไร ระดับ