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 Android e un'immagine di sistema, oltre a un set di skin per emulatori e altro ancora. Per iniziare a sviluppare o testare la piattaforma 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 della versione 2.3.3, incluse le nuove funzionalità e le modifiche dell'API framework rispetto alla versione precedente.
Near Field Communication (NFC)
Android 2.3.3 offre un supporto migliorato ed esteso per NFC, per consentire alle applicazioni di interagire con più tipi di tag in modi nuovi.
Un insieme nuovo e completo di API consente alle applicazioni di accedere 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 Ultraleggera
- Tag NDEF Forum NFC
La piattaforma fornisce inoltre un'API e un protocollo di comunicazione peer-to-peer 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.
L'invio avanzato di tag ora offre alle applicazioni un maggiore controllo su come e quando vengono avviati e quando viene rilevato un tag NFC. In precedenza, la piattaforma utilizzava un invio di intent in un singolo passaggio per notificare alle applicazioni interessate la scoperta di un tag. La piattaforma ora utilizza un processo in quattro passaggi che consente all'applicazione in primo piano di assumere il controllo di un evento tag prima che venga trasmesso ad altre applicazioni (android.nfc.NfcAdapter.enableForegroundDispatch()
). Il nuovo processo di invio consente inoltre alle app di ascoltare specifici contenuti dei tag e tecnologie di tag, in base a due nuove azioni per 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 chiave sono:
NfcAdapter
, che rappresenta l'hardware NFC del dispositivo.NdefMessage
, che rappresenta un messaggio di dati NDEF, il formato standard in cui vengono trasmessi "record" per la trasmissione di dati tra dispositivi e tag. Un messaggio NDEF contiene molti record NDEF di tipi diversi. Le applicazioni possono ricevere questi messaggi da intentNDEF_DISCOVERED
,TECH_DISCOVERED
oTAG_DISCOVERED
.NdefRecord
, fornito in unNdefMessage
, che descrive il tipo di dati condivisi e trasporta i dati stessi.Tag
, che rappresenta un tag scansionato dal dispositivo. In base alla tecnologia di tag sottostante, sono supportati più tipi di tag.TagTechnology
, un'interfaccia che consente alle applicazioni di accedere alle proprietà dei tag e alle operazioni di I/O in base alle tecnologie all'interno del tag. Per un elenco completo delle tecnologie di tag supportate in Android 2.3.3, vediandroid.nfc.tech
.
La comunicazione NFC si basa sulla tecnologia wireless nell'hardware del dispositivo e non è presente in tutti i dispositivi Android. I dispositivi Android che non supportano NFC restituiranno un oggetto null quando getDefaultAdapter(Context)
viene chiamato e context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
restituirà false
. Tuttavia, l'API NFC è sempre presente, indipendentemente dal supporto hardware sottostante.
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 filtri su Google Play in modo che le loro applicazioni non siano rilevabili per gli utenti i cui dispositivi non supportano NFC. Per richiedere l'applicazione di filtri, aggiungi
<uses-feature android:name="android.hardware.nfc"
android:required="true">
al manifest dell'applicazione.
Per ulteriori informazioni, leggi la guida per gli sviluppatori di NFC.
Bluetooth
Android 2.3.3 aggiunge il supporto della piattaforma e dell'API per le connessioni socket non sicure tramite Bluetooth. Ciò consente alle applicazioni di comunicare con dispositivi semplici
che potrebbero non offrire una UI per l'autenticazione. Consulta le pagine createInsecureRfcommSocketToServiceRecord(java.util.UUID)
e listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
per saperne di più.
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 ha bisogno solo di alcune parti dell'immagine. - Un nuovo campo
inPreferQualityOverSpeed
inBitmapFactory.Options
consente alle applicazioni di utilizzare un metodo IDCT più accurato, ma leggermente più lento, nella decodifica JPEG. In questo modo, viene migliorata la qualità dell'immagine ricostruita.
Framework multimediale
- Una nuova classe
MediaMetadataRetriever
fornisce un'interfaccia unificata per il recupero di frame e metadati da un file multimediale di input. MediaRecorder.AudioEncoder
eMediaRecorder.OutputFormat
includono nuovi campi per specificare i formati AMR A banda larga e AAC.
Riconoscimento vocale
L'API di riconoscimento vocale include nuove costanti per consentirti di gestire i risultati della ricerca vocale in modi nuovi. Sebbene le nuove costanti non siano necessarie per il normale utilizzo del riconoscimento vocale, potresti usarle per offrire una visione diversa dei risultati della ricerca vocale nell'applicazione. Per informazioni, vedi RecognizerResultsIntent
.
Livello API
La piattaforma Android 2.3.3 fornisce una versione aggiornata dell'API framework. All'API Android 2.3.3 viene assegnato un identificatore numero 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 nella tua applicazione le API introdotte in Android 2.3.3, devi compilare l'applicazione in base alla libreria Android fornita nella piattaforma SDK Android 2.3.3. A seconda delle esigenze, potrebbe anche essere necessario 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 e versioni successive, la dichiarazione dell'attributo impedisce l'installazione dell'applicazione su versioni precedenti della piattaforma.
Per ulteriori informazioni, consulta la sezione Che cos'è il livello API?