API Android 2.3.3

Livello API: 10

Android 2.3.3 (GINGERBREAD_MR1) è una piccola release di funzionalità che aggiunge diversi miglioramenti e API alla piattaforma Android 2.3.

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

Panoramica dell'API

Le sezioni seguenti forniscono una panoramica tecnica delle novità per gli sviluppatori nella versione 2.3.3, incluse le nuove funzionalità e le modifiche all'API del framework rispetto alla versione precedente.

Near Field Communication (NFC)

Android 2.3.3 offre un supporto migliorato ed esteso per la tecnologia NFC, per consentire alle applicazioni di interagire con più tipi di tag in nuovi modi.

Un nuovo e completo insieme di API offre alle applicazioni l'accesso in lettura e scrittura a una gamma più ampia di tecnologie di tag standard, tra cui:

  • 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
  • Tag NDEF del Forum NFC

La piattaforma fornisce inoltre un protocollo di comunicazione peer-to-peer e un'API limitati. Le attività in primo piano possono utilizzare l'API per registrare un messaggio NDEF che verrà inviato ad altri dispositivi NFC quando si connettono.

Il servizio di invio di tag avanzato ora offre alle applicazioni un maggiore controllo su come e quando vengono avviate quando viene rilevato un tag NFC. In precedenza, la piattaforma utilizzava un invio di intent in un solo passaggio per notificare alle applicazioni interessate che è stato rilevato un tag. Ora la piattaforma utilizza una procedura in quattro passaggi che consente all'applicazione in primo piano di assumere il controllo di un evento tag prima che venga passato ad altre applicazioni (android.nfc.NfcAdapter.enableForegroundDispatch()). La nuova procedura di invio consente inoltre alle app di ascoltare contenuti e tecnologie dei tag specifici, in base a due nuove azioni di intent: android.nfc.action.NDEF_DISCOVERED e android.nfc.action.TECH_DISCOVERED.

L'API NFC è disponibile nei pacchetti android.nfc e android.nfc.tech. Le classi principali sono:

  • NfcAdapter, che rappresenta l'hardware NFC sul dispositivo.
  • NdefMessage, che rappresenta un messaggio di dati NDEF, il formato standard in cui i "record" che trasportano i dati vengono trasmessi tra dispositivi e tag. Un messaggio NDEF contiene molti record NDEF di tipi diversi. Le applicazioni possono ricevere questi messaggi dagli intent NDEF_DISCOVERED, TECH_DISCOVERED o TAG_DISCOVERED.
  • NdefRecord, inviati in un NdefMessage, che descrive il tipo di dati condivisi e trasporta i dati stessi.
  • Tag, che rappresenta un tag analizzato dal dispositivo. Sono supportati più tipi di tag, in base alla tecnologia di tag sottostante.
  • TagTechnology, un'interfaccia che consente alle applicazioni di accedere alle proprietà dei tag e alle operazioni di I/O in base alle tecnologie presenti nel tag. Per un elenco completo delle tecnologie dei tag supportate in Android 2.3.3, consulta android.nfc.tech.

La comunicazione NFC si basa sulla tecnologia wireless nell'hardware del dispositivo e non è presente su tutti i dispositivi Android. I dispositivi Android che non supportano la tecnologia NFC restituiranno un oggetto null quando viene chiamato getDefaultAdapter(Context) e context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) restituirà false. L'API NFC è sempre presente, indipendentemente dal supporto hardware di base.

Per utilizzare l'API NFC, le applicazioni devono richiedere l'autorizzazione all'utente dichiarando <uses-permission android:name="android.permission.NFC"> nei file manifest.

Inoltre, gli sviluppatori possono richiedere il filtraggio su Google Play, in modo che le loro applicazioni non siano rilevabili dagli utenti i cui dispositivi non supportano la tecnologia NFC. Per richiedere il filtro, aggiungi <uses-feature android:name="android.hardware.nfc" android:required="true"> al manifest dell'applicazione.

Per ulteriori informazioni, consulta la Guida per gli sviluppatori su NFC.

Bluetooth

Android 2.3.3 aggiunge il supporto della piattaforma e dell'API per le connessioni di socket non sicure Bluetooth. In questo modo le applicazioni possono comunicare con dispositivi semplici che potrebbero non offrire un'interfaccia utente per l'autenticazione. Per ulteriori informazioni, consulta createInsecureRfcommSocketToServiceRecord(java.util.UUID) e listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID).

Grafica

  • Una nuova classe BitmapRegionDecoder consente alle applicazioni di decodificare una regione rettangolare da un'immagine. L'API è particolarmente utile quando un'immagine originale è di grandi dimensioni e l'applicazione ne richiede solo alcune parti.
  • Un nuovo campo inPreferQualityOverSpeed in BitmapFactory.Options consente alle applicazioni di utilizzare un metodo IDCT più accurato, ma leggermente più lento, nella decodifica JPEG. Ciò a sua volta migliora la qualità dell'immagine ricostruita.

Framework multimediale

Riconoscimento vocale

L'API di riconoscimento vocale include nuove costanti che ti consentono di gestire i risultati di ricerca vocale in nuovi modi. Sebbene le nuove costanti non siano necessarie per il normale uso del riconoscimento vocale, puoi utilizzarle per offrire una visualizzazione diversa dei risultati di ricerca vocale nella tua applicazione. Per informazioni, vedi RecognizerResultsIntent.

Livello API

La piattaforma Android 2.3.3 fornisce una versione aggiornata dell'API del framework. All'API Android 2.3.3 viene assegnato un identificatore intero (10) memorizzato nel sistema stesso. Questo identificatore, chiamato "livello API", consente al sistema di determinare correttamente se un'applicazione è compatibile con il sistema prima di installarla.

Per utilizzare le API introdotte in Android 2.3.3 nella tua applicazione, devi compilare l'applicazione in base alla libreria Android fornita nella piattaforma SDK Android 2.3.3. 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 funzionare solo su Android 2.3 e versioni successive, la dichiarazione dell'attributo impedisce l'installazione dell'applicazione su versioni precedenti della piattaforma.

Per saperne di più, consulta Che cos'è il livello API?