API di Android 2.3.4

Livello API: 10

Android 2.3.4 (GINGERBREAD_MR1) è una release di manutenzione che aggiunge diverse correzioni di bug e patch alla piattaforma Android 2.3, senza alcuna modifica all'API rispetto ad Android 2.3.3. Inoltre, Android 2.3.4 introduce il supporto per l'API Open Accessory sui dispositivi mobili, tramite la funzionalità facoltativa Open Accessory Library.

Per gli sviluppatori, la piattaforma Android 2.3.4 è disponibile come componente scaricabile per l'SDK Android. La piattaforma scaricabile include una libreria Android e un'immagine di sistema, oltre a una serie di skin di emulatori e altro ancora. Per iniziare a sviluppare o testare versioni su Android 2.3.4, utilizza Android SDK Manager per scaricare la piattaforma nel tuo SDK.

Panoramica dell'API

Android 2.3.4 fornisce alle applicazioni la stessa API framework di Android 2.3.3 (livello API 10). Per un riepilogo dell'API, consulta le note sulla versione di Android 2.3.3.

Apri la Raccolta accessori

Open Accessory è una nuova funzionalità per integrare le periferiche connesse con le applicazioni in esecuzione sulla piattaforma. La capacità si basa su uno stack USB (Universal Serial Bus) integrato nella piattaforma e su un'API esposta alle applicazioni. Le periferiche che si collegano a dispositivi Android come accessori si connettono come host USB.

Open Accessory è stato introdotto in Android 3.1 (livello API 12), ma è reso disponibile ai dispositivi con Android 2.3.4 tramite una libreria esterna facoltativa, la Open Accessory Library. La libreria espone un'API framework che consente alle applicazioni di scoprire, comunicare con e gestire una varietà di tipi di dispositivi connessi tramite USB. Fornisce inoltre l'implementazione dell'API su parti della piattaforma Android non esposte direttamente alle applicazioni in Android 2.3.4.

L'apertura della libreria accessori è facoltativa su tutti i dispositivi. I produttori di dispositivi possono scegliere se includere la libreria di accessori aperta nei loro prodotti o se escluderla. La libreria è compatibile con Android 3.1, pertanto le applicazioni sviluppate con Android 2.3.4 verranno eseguite correttamente sui dispositivi con Android 3.1, se tali dispositivi supportano accessori USB.

L'API fornita da Open Accessory Library si basa sull'API Open Accessory fornita in Android 3.1. Nella maggior parte delle aree, puoi utilizzare le stesse tecniche e API. Tuttavia, lo sviluppo per la libreria di accessori aperta su Android 2.3.4 differisce dall'API USB standard per i seguenti aspetti:

  • Ottenimento di un oggetto UsbManager: per ottenere un oggetto UsbManager quando utilizzi la libreria dei componenti aggiuntivi, utilizza il metodo helper getInstance() anziché getSystemService(). Ad esempio:

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • Ottenimento di un UsbAccessory da un intent filtrato: quando filtri per un dispositivo o accessorio connesso con un filtro per intent, l'oggetto UsbAccessory è contenuto all'interno dell'intent trasmesso all'applicazione. Se utilizzi la libreria dei componenti aggiuntivi, puoi ottenere l'oggetto UsbAccessory nel seguente modo:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Nessun supporto host USB. Android 2.3.4 e Open Accessory Library non supportano la modalità host USB (ad esempio tramite UsbDevice), sebbene la modalità host USB sia supportata in Android 3.1. Un dispositivo con piattaforma Android e sistema operativo Android 2.3.4 non può funzionare come host USB. La libreria consente al dispositivo Android di funzionare solo come periferica, con l'accessorio collegato che funziona come host USB (tramite UsbAccessory).

Per sviluppare app utilizzando la libreria di accessori Apri, sono necessari:

  • La versione più recente degli strumenti SDK Android
  • La versione più recente del componente aggiuntivo API di Google, che include la libreria stessa (per il collegamento)
  • Un dispositivo hardware effettivo con Android 2.3.4 (o Android 3.1) con supporto per accessori USB, per i test del runtime sui dispositivi connessi

Per una discussione completa su come sviluppare applicazioni che interagiscano con gli accessori USB, consulta la relativa documentazione per gli sviluppatori.

Inoltre, gli sviluppatori possono richiedere il filtro su Google Play in modo che le loro applicazioni non siano disponibili per gli utenti i cui dispositivi non forniscono il supporto accessori appropriato. Per richiedere l'applicazione di filtri, aggiungi l'elemento seguente al manifest dell'applicazione:

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

Livello API

La piattaforma Android 2.3.4 non aumenta il livello API: utilizza lo stesso livello API di Android 2.3.3 con livello API 10.

Per utilizzare nella tua applicazione le API introdotte nel livello API 10, devi compilare l'applicazione in base alla libreria Android fornita nella versione più recente del componente aggiuntivo API di Google, che include anche la libreria di accessori aperta.

A seconda delle tue esigenze, potresti anche dover aggiungere un attributo android:minSdkVersion="10" all'elemento <uses-sdk> nel file manifest dell'applicazione. Se la tua applicazione è progettata per essere eseguita solo su Android 2.3.3 e versioni successive, la dichiarazione dell'attributo impedisce l'installazione dell'applicazione su versioni precedenti della piattaforma.

Per ulteriori informazioni, consulta Che cos'è il livello API?