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 Library ที่เป็นตัวเลือก

สำหรับนักพัฒนาซอฟต์แวร์ แพลตฟอร์ม 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

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

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

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

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

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

สำหรับข้อมูลเพิ่มเติม โปรดอ่าน API คืออะไร ระดับ