Livello API: 5
Android 2.0 è una delle principali versioni della piattaforma distribuibile su smartphone Android a partire da novembre 2009. La release include nuove funzioni per utenti e sviluppatori, nonché modifiche nell'API Android Framework.
Per gli sviluppatori, la piattaforma Android 2.0 è disponibile come componente scaricabile per l'SDK Android. La piattaforma scaricabile include una biblioteca e un'immagine di sistema Android completamente conformi, nonché una serie di skin dell'emulatore, applicazioni di esempio e altro ancora. La piattaforma scaricabile è completamente conforme e non include librerie esterne.
Per iniziare a sviluppare o testare soluzioni rispetto ad Android 2.0, utilizza l'SDK per Android e lo strumento Gestione AVD per scarica la piattaforma nel tuo SDK.
Aspetti principali della piattaforma
Per un elenco delle nuove funzionalità per gli utenti e delle caratteristiche principali delle piattaforme, consulta Android 2.0 Panoramica della piattaforma.
Applicazioni integrate
L'immagine di sistema inclusa nella piattaforma scaricabile fornisce le seguenti applicazioni integrate:
|
|
Lingue
L'immagine di sistema inclusa nella piattaforma scaricabile fornisce una impostazioni internazionali integrate. In alcuni casi, per le lingue sono disponibili stringhe specifiche per regione. In altri casi, viene utilizzata una versione predefinita della lingua. La lingue disponibili nel sistema Android 2.0 immagini sono elencate di seguito (con impostazioni internazionali language_country/region descrittore).
|
|
Le stringhe dell'interfaccia utente localizzate corrispondono alle impostazioni internazionali accessibili tramite le Impostazioni.
Skin per emulatori
La piattaforma scaricabile include un insieme di skin dell'emulatore che puoi utilizzare per modellare la tua applicazione in schermi di dimensioni e risoluzioni diverse. Le skin dell'emulatore sono:
- QVGA (240 x 320, bassa densità, schermo piccolo)
- WQVGA (240 x 400, bassa densità, schermo normale)
- FWQVGA (240 x 432, bassa densità, schermo normale)
- HVGA (320 x 480, densità media, schermo normale)
- WVGA800 (480 x 800, alta densità, schermo normale)
- WVGA854 (schermo normale ad alta densità 480 x 854)
Per ulteriori informazioni su come sviluppare un'applicazione che venga visualizzata e funzioni correttamente su tutti i dispositivi Android, consulta l'articolo Supporto di più schermi.
Funzionalità per sviluppatori
Le sezioni seguenti forniscono informazioni sulle nuove funzionalità per gli sviluppatori offerte dal componente della piattaforma Android 2.0 scaricabile.
Supporto per le formiche
- Firma delle applicazioni in modalità di debug e release. La firma in modalità di rilascio include il supporto integrato per l'ottimizzazione di
zipalign
. Per ulteriori informazioni, consulta Firmare le applicazioni. - Aggiunge un nuovo sistema di compilazione Ant con il supporto per i progetti di misurazione di Emma (copertura del codice).
API Framework
Le sezioni seguenti forniscono informazioni sull'API framework per le applicazioni fornita dalla piattaforma Android 2.0.
Livello API
La piattaforma Android 2.0 fornisce una versione aggiornata del framework tramite Google Cloud CLI o tramite l'API Compute Engine. Come per le versioni precedenti, all'API Android 2.0 viene assegnato un identificatore intero, 5, memorizzato nel sistema stesso. Questo identificatore, chiamato "livello API", consente sistema per determinare correttamente se un'applicazione è compatibile al sistema prima di installare l'applicazione.
Per utilizzare le API introdotte in Android 2.0 nella tua applicazione, devi:
Imposta il valore corretto "5" negli attributi dell'elemento <uses-sdk>
nel file manifest della tua applicazione.
Per ulteriori informazioni su come utilizzare il livello API, consulta il documento Livelli API.
Riepilogo delle modifiche all'API
Bluetooth
- Attiva/disattiva il Bluetooth
- Rilevamento di dispositivi e servizi
- Collegarsi a un dispositivo remoto utilizzando RFCOMM e inviare/ricevere dati
- Pubblicizza i servizi RFCOMM e ascolta la connessione RFCOMM in arrivo
Adattatori di sincronizzazione
- Nuove API per gli adattatori di sincronizzazione per connettersi a qualsiasi backend
Account Manager
- API di gestione degli account centralizzata per archiviare e accedere in modo sicuro a token/password di autenticazione
Contatti
- Nuove API di contatti che consentono l'utilizzo di dati di più account
- Le nuove API del framework Quick Contact consentono agli sviluppatori di creare badge di contatto nella loro app. Se fai clic sul badge, si apre una finestra con un elenco di modi per contattare la persona con un solo clic.
WebView
- Classi ritirate: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
Fotocamera
- Nuovi parametri per effetto colore, modalità scena, modalità flash, modalità di messa a fuoco, bilanciamento del bianco, rotazione e altre impostazioni.
- Nuova interfaccia di ZoomCallback per eseguire azioni quando il livello di zoom è cambiato.
Contenuti multimediali
- MediaScanner ora genera miniature per tutte le immagini quando vengono inserite in MediaStore.
- Nuova API Thumbnail per il recupero di miniature di immagini e video on demand.
Altro framework
- Nuovi temi di sistema in stile android.R.per visualizzare facilmente le attività sopra lo sfondo di sistema corrente o mantenere visibile l'attività precedente sullo sfondo.
- La nuova API BackgroundManager sostituisce ed estende le API di sfondo che in precedenza si trovavano in Contesto, per consentire alle applicazioni di richiedere e impostare lo sfondo del sistema.
- Nuove API di servizio per aiutare le applicazioni a gestire correttamente il ciclo di vita del servizio, in particolare in situazioni di scarsa memoria in cui un servizio potrebbe essere interrotto durante l'esecuzione.
- Service.setForeground() è stato deprecato e ora non esegue alcuna operazione. Questa operazione viene sostituita da una nuova API, startForeground(), che consente (e richiede) di associare una notifica in corso allo stato in primo piano.
- MotionEvent ora può segnalare informazioni relative al tocco simultaneo per i dispositivi che la supportano. È possibile monitorare fino a tre cursori contemporaneamente.
- KeyEvent dispone di nuove API di invio dei tasti per facilitare l'implementazione del comportamento di azione al rilascio e della pressione prolungata, nonché di un nuovo meccanismo per annullare le pressioni dei tasti (per i tasti virtuali).
- WindowManager.LayoutParams ha nuove costanti che consentono a una finestra di riattivare lo schermo quando viene visualizzata e di mostrarla anche se lo schermo è bloccato. In questo modo, le applicazioni possono implementare in modo più pulito elementi come le sveglie che devono riattivare il dispositivo.
- Nuove API Intent che trasmettono lo stato di docking del dispositivo e consentono alle applicazioni di avviare attività speciali quando il dispositivo è posizionato su un desktop o su un dock per auto.
Eventi chiave eseguiti al momento della chiave
Android 2.0 è progettato per funzionare su dispositivi che usano chiavi virtuali per HOME, MENU, INDIETRO e RICERCA, anziché tasti fisici. Per supportare l'utente migliore su quei dispositivi, la piattaforma Android ora esegue questi pulsanti per una coppia key-down/key-up invece che key-down. Ciò aiuta a prevenire eventi pulsanti accidentali e consente all'utente di premere l'area del pulsante e poi trascinare senza generare un evento.
Questa modifica del comportamento dovrebbe influire sulla tua applicazione solo se intercetta gli eventi dei pulsanti e esegue un'azione al tasto premuto, anziché al tasto rilasciato. Soprattutto se la tua applicazione intercetta il tasto BACK, devi assicurarti che gestisca correttamente gli eventi chiave.
In generale, non è consigliabile intercettare il tasto BACK in un'applicazione, tuttavia, se la tua applicazione lo fa e richiama un'azione al tasto Giù anziché al tasto Su, devi modificare il codice.
Se la tua applicazione utilizzerà le API introdotte in Android 2.0 (Livello API 5), puoi sfruttare le nuove API per la gestione delle coppie chiave-evento:
- Se stai intercettando il tasto INDIETRO in un'attività o in una finestra di dialogo,
implementare il nuovo metodo
onBackPressed()
. - Se stai intercettando la chiave Indietro in una vista, dovresti monitorare la chiave.
all'evento di keydown (tramite il nuovo
startTracking()
), quindi richiama l'azione al tasto. Ecco un pattern che puoi utilizzare:
Kotlin
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { return when (keyCode) { KeyEvent.KEYCODE_BACK -> { if (event.repeatCount == 0) { event.startTracking() true } else { false } } ... else -> super.onKeyDown(keyCode, event) } } override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean { return when (keyCode) { KeyEvent.KEYCODE_BACK -> { if (event.isTracking && !event.isCanceled) { // *** DO ACTION HERE *** true } else { false } } ... else -> super.onKeyUp(keyCode, event) } }
Java
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { event.startTracking(); return true; } return super.onKeyDown(keyCode, event); } public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking() && !event.isCanceled()) { // *** DO ACTION HERE *** return true; } return super.onKeyUp(keyCode, event); }
Se vuoi aggiornare un'applicazione precedente in modo che la gestione del tasto BACK funzioni correttamente sia per Android 2.0 sia per le versioni precedenti della piattaforma, puoi utilizzare un approccio simile a quello mostrato sopra. Il tuo codice può rilevare evento pulsante target al momento della chiave, impostare un flag per monitorare l'evento chiave e quindi rilevare l'evento anche al momento del key-up, eseguendo l'azione desiderata se è impostato il flag. Inoltre, tieni d'occhio le modifiche dello stato attivo e cancella l'indicatore di monitoraggio quando ottieni/perdi lo stato attivo.
Report sulle differenze API
Per una visione dettagliata delle modifiche alle API in Android 2.0 (Livello API 5), rispetto a la versione precedente, consulta il report Differenze API.