API ของ Android 2.3.4

ระดับ 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 Manager เพื่อดาวน์โหลดแพลตฟอร์มลงใน SDK ของคุณ

ภาพรวมของ API

Android 2.3.4 มี API เฟรมเวิร์กเดียวกันกับแอปพลิเคชันใน Android 2.3.3 (API ระดับ 10) ดูข้อมูลสรุปเกี่ยวกับ API ได้ที่หมายเหตุเกี่ยวกับเวอร์ชัน Android 2.3.3

เปิดคลังอุปกรณ์เสริม

Open Accessory เป็นความสามารถใหม่ในการผสานรวมอุปกรณ์ต่อพ่วงที่เชื่อมต่อกับแอปพลิเคชันที่ทำงานบนแพลตฟอร์ม ความสามารถนี้อิงตามสแต็ก USB (Universal Serial Bus) ที่สร้างบนแพลตฟอร์มและ API ที่เปิดเผยแก่แอปพลิเคชัน อุปกรณ์ต่อพ่วงที่เชื่อมต่อกับอุปกรณ์ที่ทำงานด้วยระบบ Android ในฐานะอุปกรณ์เสริมที่เชื่อมต่อเป็นโฮสต์ USB

อุปกรณ์เสริมแบบเปิดเปิดตัวใน Android 3.1 (API ระดับ 12) แต่พร้อมใช้งานในอุปกรณ์ที่ใช้ Android 2.3.4 ผ่านไลบรารีภายนอกที่ไม่บังคับอย่างไลบรารีอุปกรณ์เสริมแบบเปิด ไลบรารีจะแสดง Framework API ที่ช่วยแอปพลิเคชันค้นหา สื่อสาร และจัดการอุปกรณ์ประเภทต่างๆ ที่เชื่อมต่อผ่าน USB นอกจากนี้ ยังมีการนํา API ไปใช้กับแพลตฟอร์ม Android บางส่วนที่ไม่ได้แสดงต่อแอปพลิเคชันใน Android 2.3.4 โดยตรง

คุณเลือกใช้คลังอุปกรณ์เสริมแบบเปิดในอุปกรณ์ใดก็ได้ ผู้ผลิตอุปกรณ์อาจเลือกว่าจะรวม Open Accessory Library ไว้ในผลิตภัณฑ์หรือไม่ ไลบรารีนี้สามารถทำงานร่วมกับ Android 3.1 ได้ทันที ดังนั้นแอปพลิเคชันที่พัฒนาเทียบกับ Android 2.3.4 จะทำงานอย่างถูกต้องในอุปกรณ์ที่ใช้ Android 3.1 หากอุปกรณ์เหล่านั้นรองรับอุปกรณ์เสริม USB

API จาก Open Accessory Library อิงตาม Open Accessory 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 ที่กรองแล้ว - เมื่อคุณกรองอุปกรณ์หรืออุปกรณ์เสริมที่เชื่อมต่อด้วยตัวกรอง 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 2.3.4 ไม่สามารถทำหน้าที่เป็นโฮสต์ USB ไลบรารีช่วยให้อุปกรณ์ที่ใช้ Android ทำงานเป็นอุปกรณ์ต่อพ่วงเท่านั้น โดยอุปกรณ์เสริมที่เชื่อมต่อจะทำงานเป็นโฮสต์ USB (ผ่าน UsbAccessory)

หากต้องการพัฒนาแอปโดยใช้ Open Accessory Library คุณต้องมีสิ่งต่อไปนี้

  • เครื่องมือ 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 คืออะไร