Livello API: 9
Per gli sviluppatori, l'app Android 2.3
(GINGERBREAD
) è disponibile come piattaforma
componente scaricabile per l'SDK Android. La piattaforma scaricabile include
una libreria Android e un'immagine di sistema, nonché una serie di skin di emulazione
altro ancora. Per iniziare a sviluppare o eseguire test su Android 2.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, incluse le nuove funzionalità e le modifiche all'API del framework rispetto alla versione precedente.
VoIP basato su SIP
La piattaforma ora include uno stack di protocolli SIP e un'API framework che consente agli sviluppatori di creare applicazioni di telefonia su internet. Tramite l'API, le applicazioni possono offrire funzionalità di chiamate vocali senza dover gestire sessioni, comunicazioni a livello di trasporto o audio, che vengono gestite in modo trasparente dall'API e dai servizi SIP della piattaforma.
L'API SIP è disponibile in android.net.sip
pacchetto. La classe della chiave è SipManager
, che le applicazioni
utilizzano per configurare e gestire i profili SIP, quindi per avviare le chiamate audio e ricevere
chiamate audio. Una volta stabilita una chiamata audio, le applicazioni possono disattivare l'audio delle chiamate,
attiva la modalità altoparlante, invia toni DTMF e altro ancora. Le applicazioni possono anche utilizzare SipManager
per creare connessioni SIP generiche.
I servizi e lo stack SIP sottostante della piattaforma sono disponibili sui dispositivi su
a discrezione del produttore e dell'operatore associato. Per questo motivo,
le applicazioni devono utilizzare il metodo isApiSupported()
per verificare se è disponibile il supporto SIP, prima di
esporre la funzionalità di chiamata agli utenti.
Per utilizzare l'API SIP, le applicazioni devono richiedere l'autorizzazione all'utente dichiarando <uses-permission
android:name="android.permission.INTERNET">
e <uses-permission
android:name="android.permission.USE_SIP">
nei file manifest.
Inoltre, gli sviluppatori possono richiedere filtri su Google Play, in modo che
le loro applicazioni non sono rilevabili da parte degli utenti i cui dispositivi non includono
lo stack e i servizi SIP della piattaforma. Per richiedere il filtro, aggiungi <uses-feature
android:name="android.software.sip"
android:required="true">
e <uses-feature
android:name="android.software.sip.voip">
al file manifest dell'applicazione.
Per saperne di più, consulta la guida per gli sviluppatori di SIP.
Near Field Communication (NFC)
Android 2.3 include uno stack NFC e un'API framework che consente agli sviluppatori di leggere i tag NDEF rilevati quando un utente tocca un dispositivo NFC per taggare elementi incorporati in adesivi, poster intelligenti e persino altri dispositivi.
La piattaforma fornisce i servizi NFC sottostanti che funzionano con il dispositivo per rilevare i tag quando rientrano nel raggio d'azione. Quando viene rilevato un tag, la piattaforma invia una notifica alle applicazioni trasmettendo un Intent e aggiungendo i messaggi NDEF del tag all'Intent come extra. Le applicazioni possono creare filtri per intent riconoscere e gestire i tag e i messaggi scelti come target. Ad esempio, dopo aver ricevuto un tag per intent, le applicazioni estraggono i messaggi NDEF, li archiviano, avvisano utente o gestirle in altri modi.
L'API NFC è disponibile nel pacchetto android.nfc
. 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 portano dati vengono trasmessi tra dispositivi e tag. Le applicazioni possono ricevere questi messaggi dagli intentACTION_TAG_DISCOVERED
.NdefRecord
, inviati in unNdefMessage
, che descrive il tipo di dati condivisi e contiene i dati stessi.
La comunicazione NFC si basa sulla tecnologia wireless nell'hardware del dispositivo, pertanto il supporto delle funzionalità NFC della piattaforma su dispositivi specifici è determinato dai rispettivi produttori. Per determinare il supporto NFC sul dispositivo corrente:
le applicazioni possono chiamare isEnabled()
a
esegui una query sul NfcAdapter
. L'API NFC è sempre presente,
tuttavia, indipendentemente dal supporto hardware sottostante.
Per utilizzare l'API NFC, le applicazioni devono richiedere l'autorizzazione all'utente tramite
con la dichiarazione <uses-permission
android:name="android.permission.NFC">
nei propri 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 un filtro, aggiungi
<uses-feature android:name="android.hardware.nfc"
android:required="true">
al manifest dell'applicazione.
Per esaminare un'applicazione di esempio che utilizza l'API NFC, vedi NFCDemo.
Giroscopio e altri sensori
Android 2.3 aggiunge il supporto della piattaforma e dell'API per diversi nuovi tipi di letture dei sensori: giroscopio, vettore di rotazione, accelerazione lineare, gravità e barometro. Gli sviluppatori possono utilizzare le nuove letture dei sensori per creare applicazioni che rispondano rapidamente e senza problemi a variazioni precise della posizione e del movimento del dispositivo. La L'API Sensor segnala le modifiche al giroscopio e ad altre variazioni dei sensori per l'interesse applicazioni, in esecuzione nel framework dell'applicazione o in applicazioni le API nel tuo codice.
Tieni presente che il gruppo specifico di sensori hardware disponibili su ogni dispositivo varia a discrezione del produttore del dispositivo.
Gli sviluppatori possono richiedere l'applicazione di filtri su Google Play, in modo che le loro applicazioni non siano rilevabili dagli utenti i cui dispositivi non offrono un sensore giroscopico. Per farlo, aggiungi <uses-feature
android:name="android.hardware.sensor.gyroscope"
android:required="true">
al file manifest dell'applicazione.
Per i dettagli sull'API, vedi Sensor
.
Supporto di più videocamere
Ora le applicazioni possono utilizzare qualsiasi fotocamera disponibile su un dispositivo,
per l'acquisizione di foto o video. Camera
consente alle applicazioni di eseguire query sul numero di videocamere disponibili e sulle caratteristiche uniche di ciascuna.
- La nuova classe
Camera.CameraInfo
memorizza le informazioni della videocamera caratteristiche posizionali (orientamento, fronte o retro). - I nuovi metodi
getNumberOfCameras()
egetCameraInfo()
nella classeCamera
consentono alle applicazioni di eseguire query sulle videocamere disponibili e di aprire la videocamera di cui hanno bisogno. - Il nuovo metodo
get()
consente applicazioni recuperano unCamcorderProfile
per una videocamera specifica. - Il nuovo
getJpegEncodingQualityParameter()
consente alle applicazioni di ottenere il livello di qualità di acquisizione di immagini fisse per una videocamera specifica.
Per esaminare il codice di esempio per accedere a una fotocamera anteriore, vedi CameraPreview.java nell'applicazione di esempio ApiDemos.
L'API Camera aggiunge anche:
- Nuovi parametri per le fotocamere, tra cui distanza di messa a fuoco, modalità di messa a fuoco e
anteprima di f/s massimo/minimo. Nuovi
getFocusDistances()
,getPreviewFpsRange()
egetSupportedPreviewFpsRange()
per ottenere i parametri della fotocamera, nonchésetPreviewFpsRange()
per impostare la frequenza fotogrammi dell'anteprima.
Effetti audio mischiabili
Il framework multimediale della piattaforma aggiunge il supporto di nuovi effetti audio per traccia o globali, tra cui Bassi più intensi, virtualizzazione cuffie, equalizzazione e riverbero.
- Il nuovo pacchetto
android.media.audiofx
offre API per accedere agli effetti audio. - Il nuovo
AudioEffect
è la classe di base per il controllo degli effetti audio forniti dal framework audio di Android. - Nuovo ID sessione audio che consente a un'applicazione di associare un set di audio
con un'istanza di
AudioTrack
oMediaPlayer
. - Nuovo costruttore della classe
AudioTrack
che ti consente di creare unAudioTrack
con un ID sessione specifico. Nuovi metodiattachAuxEffect()
,getAudioSessionId()
esetAuxEffectSendLevel()
. - Nuovi metodi
attachAuxEffect()
,getAudioSessionId()
,setAudioSessionId(int)
esetAuxEffectSendLevel()
e tipi di supporto.
Per esaminare il codice di esempio per gli effetti audio, consulta AudioFxDemo.java nell'applicazione di esempio ApiDemos.
Il framework multimediale aggiunge anche:
- Nuovo supporto per il tag altitudine nei metadati EXIF per i file JPEG. Nuovo metodo
getAltitude()
per recuperare il valore del tag altezza EXIF. - Il nuovo metodo
setOrientationHint()
consente a un'applicazione di indicare aMediaRecorder
l'orientamento durante l'acquisizione video.
Gestore dei download
La piattaforma include un nuovo servizio di sistema DownloadManager
che gestisce i download HTTP di lunga durata. Le applicazioni possono richiedere che un URI venga
scaricate in uno specifico file di destinazione. DownloadManager
eseguirà il download in background, occupandosi delle interazioni HTTP
e riprovando i download dopo gli errori o le modifiche alla connettività e i riavvii del sistema.
- Le applicazioni possono ottenere un'istanza dell'oggetto
DownloadManager
chiamatagetSystemService(String)
e superandoDOWNLOAD_SERVICE
. Le applicazioni che richiedono i download tramite questa API devono registrare un'entità di ricezione di annunci perACTION_NOTIFICATION_CLICKED
per gestire in modo appropriato il momento in cui l'utente fa clic su un download in esecuzione in una notifica o nell'interfaccia utente dei download. - La classe
DownloadManager.Request
consente a un'applicazione di fornire tutte le informazioni necessarie per richiedere un nuovo download, come l'URI della richiesta e la destinazione del download. Un URI richiesta è l'unico parametro obbligatorio. Tieni presente che la destinazione di download predefinita è un volume condiviso in cui il sistema può eliminare il file se deve recuperare spazio per l'utilizzo del sistema. Per per l'archiviazione permanente di un download, specificare una destinazione spazio di archiviazione (vedisetDestinationUri(Uri)
). - La classe
DownloadManager.Query
offre metodi che consentono una query dell'applicazione per i download attivi e filtrarli.
StrictMode
Per aiutare gli sviluppatori a monitorare
e migliorare le prestazioni delle loro applicazioni,
la piattaforma offre una nuova struttura di sistema chiamata StrictMode
.
Se viene implementato in un'applicazione, StrictMode rileva e comunica allo sviluppatore attività accidentali sul disco o sulla rete che potrebbero ridurre le prestazioni dell'applicazione, ad esempio le attività che si verificano nel thread principale dell'applicazione (dove vengono ricevute le operazioni dell'interfaccia utente e si verificano anche le animazioni).
Gli sviluppatori possono valutare i problemi di utilizzo della rete e del disco rilevati in StrictMode
e correggerli se necessario, mantenendo il thread principale più reattivo e
impedendo la visualizzazione delle finestre di dialogo ANR agli utenti.
StrictMode
è la classe di base ed è il punto di integrazione principale con il sistema e la VM. Il corso offre metodi pratici gestire i criteri di thread e VM applicabili all'istanza.StrictMode.ThreadPolicy
eStrictMode.VmPolicy
contengono i criteri che definisci e applichi ai thread e alle istanze VM.
Per ulteriori informazioni su come utilizzare StrictMode per ottimizzare
dell'applicazione, consulta la documentazione del corso e il codice campione alla pagina android.os.StrictMode
.
Framework UI
- Supporto per lo scorrimento eccessivo
- Nuovo supporto per lo scorrimento eccessivo in Visualizzazioni e Widget. In Views, le applicazioni possono attivare/disattivare lo scorrimento oltre i limiti per una determinata visualizzazione, impostare la modalità di scorrimento oltre i limiti, controllare la distanza di scorrimento oltre i limiti e gestire i risultati dello scorrimento oltre i limiti.
- In Widget, le applicazioni possono controllare le caratteristiche di scorrimento eccessivo, come animazione, ritorno elastico e distanza di scorrimento eccessivo. Per ulteriori informazioni, vedi
android.view.View
eandroid.widget.OverScroller
. ViewConfiguration
fornisce anche i metodigetScaledOverflingDistance()
egetScaledOverscrollDistance()
.- Nuovi attributi
overScrollMode
,overScrollFooter
eoverScrollHeader
per gli elementi<ListView>
, per controllare il comportamento di scorrimento eccessivo.
- Supporto per il filtro touch
- Nuovo supporto per i filtri tocco, che consente a un'applicazione di migliorare la sicurezza delle visualizzazioni che forniscono l'accesso a funzionalità sensibili. Ad esempio: i filtri touch sono appropriati per garantire la sicurezza delle azioni degli utenti, come quando si concede una richiesta di autorizzazione, fare un acquisto o fare clic su pubblicità. Per maggiori dettagli, consulta la sezione Visualizzare il corso documentazione.
- Nuovo attributo
filterTouchesWhenObscured
per gli elementi della visualizzazione, che indica se filtrare i tocchi quando la finestra della visualizzazione è oscurata da un'altra finestra visibile. Se impostato su"true"
, la visualizzazione non riceverà tocchi ogni volta che viene visualizzata una notifica, una finestra di dialogo o un'altra finestra sopra la finestra della visualizzazione. Per informazioni dettagliate, consulta la documentazione sulla sicurezza.
Per esaminare il codice di esempio per il filtro touch, consulta SecureView.java nell'applicazione di esempio ApiDemos.
- Gestione degli eventi migliorata
- Nuova classe base per gli eventi di input,
InputEvent
. La classe fornisce metodi che consentono alle applicazioni di determinare il significato dell'evento, ad esempio eseguendo una query sull'InputDevice da cui è originato l'evento.KeyEvent
eMotionEvent
sono sottoclassi diInputEvent
. - Nuova classe base per i dispositivi di input,
InputDevice
. La classe memorizza le informazioni sulle funzionalità di un determinato dispositivo di input e fornisce metodi che consentono alle applicazioni di determinare come interpretare gli eventi di un dispositivo di input.
- Nuova classe base per gli eventi di input,
- Eventi di movimento migliorati
- L'API
MotionEvent
è stata estesa per includere le informazioni sull'"ID cursore", che consente alle applicazioni di tenere traccia dei singoli dita mentre si muovono verso l'alto e verso il basso. La classe aggiunge una serie di metodi che consentono a un'applicazione di lavorare in modo efficiente con gli eventi di movimento. - Il sistema di input ora dispone di una logica per generare eventi di movimento con le nuove informazioni sull'ID del cursore, sintetizzando gli identificatori man mano che i nuovi cursori non sono attivi. La il sistema tiene traccia separatamente di più ID puntatore durante un evento di movimento, garantisce la corretta continuità dei puntatori, valutando a distanza tra l'ultimo e il successivo insieme di puntatori.
- L'API
- Controlli di selezione del testo
- Un nuovo metodo
setComposingRegion
consente a un'applicazione di contrassegnare una regione di testo come testo in fase di composizione, mantenendo lo stile corrente. Un metodogetSelectedText
restituisce il testo selezionato all'applicazione. I metodi sono disponibili inBaseInputConnection
,InputConnection
eInputConnectionWrapper
. - Nuovo
textSelectHandle
,textSelectHandleLeft
,textSelectHandleRight
etextSelectHandleWindowStyle
attributi per<TextView>
, per fare riferimento agli elementi drawable che saranno utilizzato per visualizzare gli ancoraggi di selezione del testo e lo stile per il finestra.
- Un nuovo metodo
- Gestione attività
ActivityInfo
aggiunge nuove costanti per la gestione dell'orientamento dell'attività:SCREEN_ORIENTATION_FULL_SENSOR
,SCREEN_ORIENTATION_REVERSE_LANDSCAPE
,SCREEN_ORIENTATION_REVERSE_PORTRAIT
,SCREEN_ORIENTATION_SENSOR_LANDSCAPE
eSCREEN_ORIENTATION_SENSOR_PORTRAIT
.- Nuova costante
IMPORTANCE_PERCEPTIBLE
per il campoimportance
aActivityManager.RunningAppProcessInfo
. Il valore indica che un processo specifico sta eseguendo un'attività considerata attivamente percepibile dall'utente. Un esempio è un'applicazione che esegue la riproduzione di musica di sottofondo. - Il metodo Activity.setPersistent(boolean) per contrassegnare un'attività come permanente è ora deprecato e l'implementazione è un'operazione senza effetti.
- Stili di testo e icona delle notifiche
- Nuovo
TextAppearance.StatusBar.EventContent
,TextAppearance.StatusBar.EventContent.Title
,TextAppearance.StatusBar.Icon
eTextAppearance.StatusBar.Title
per la gestione stile di notifica.
- Nuovo
- Aggiunge i metodi rimanenti di OpenGL ES 2.0
glDrawElements()
eglVertexAttribPointer()
nella classeandroid.opengl.GLES20
. - Aggiunge il supporto per il formato pixel
YV12
, un planar 4:2:0 YCrCb. - Nuova classe di provider
AlarmClock
per impostare o gestire una sveglia. Il provider contiene un intentACTION_SET_ALARM
azioni ed extra che possono essere usati per avviare un'attività e impostare una nuova sveglia in un applicazione sveglia. Le applicazioni che vogliono ricevere l'intentSET_ALARM
devono creare un'attività che richieda l'autorizzazione SET_ALARM. Le applicazioni che vogliono creare una nuova sveglia devono utilizzareContext.startActivity()
, in modo che l'utente possa scegliere quale applicazione sveglia utilizzare. MediaStore
supporta una nuova azione Intent,PLAY_FROM_SEARCH
, che consente a un'applicazione di cercare contenuti multimediali musicali e riproducono automaticamente i contenuti dei risultati, se possibile. Ad esempio, un'applicazione potrebbe attivare questo Intent come risultato di un comando di riconoscimento vocale per ascoltare musica.MediaStore
aggiunge anche un nuovo flagMEDIA_IGNORE_FILENAME
che indica ai contenuti multimediali scanner per ignorare i contenuti multimediali nella directory contenitore e nelle relative sottodirectory. Gli sviluppatori possono usare questa funzionalità per evitare la visualizzazione di elementi grafici nella Galleria e Allo stesso modo, impedire la visualizzazione di suoni e musica dell'applicazione dell'app.- Il fornitore
Settings
aggiunge le nuove azioni AttivitàAPPLICATION_DETAILS_SETTINGS
eMANAGE_ALL_APPLICATIONS_SETTINGS
, che consentono a un'applicazione di mostrare i dettagli schermata di un'applicazione specifica o mostrare la schermata Gestisci applicazioni. - Il provider
ContactsContract
aggiunge il tipo di datiContactsContract.CommonDataKinds.SipAddress
per memorizzare l'indirizzo SIP (telefonia su internet) di un contatto. LocationManager
ora monitora le richieste di applicazioni che generano wakelock o blocchi Wi-Fi in base aWorkSource
, una classe gestita dal sistema che identifica l'applicazione.LocationManager
tiene traccia di tutti i clienti che richiedono aggiornamenti periodici e comunica ai propri fornitori come parametroWorkSource
, quando impostano il loro valore minimo orari di aggiornamento. Il fornitore di servizi di geolocalizzazione di rete utilizzaWorkSource
per monitorare le chiusure di riattivazione e Wi-Fi avviate da un'applicazione e le aggiunge all'utilizzo della batteria dell'applicazione registrato in Gestisci applicazioni.LocationManager
aggiunge diversi nuovi metodi che consentono a un'attività di registrarsi per ricevere aggiornamenti della posizione periodici o una tantum in base a criteri specificati (vedi di seguito).- Una nuova classe
Criteria
consente a un'applicazione di specificare un insieme di criteri per la selezione di un fornitore di servizi di geolocalizzazione. Ad esempio, i fornitori possono essere ordinati in base ad accuratezza, consumo energetico, capacità di segnalare altitudine, velocità e rotta e costo monetario. - Android 2.3 aggiunge un nuovo
StorageManager
che supporta i file OBB (Opaque Binary Blob). Sebbene il supporto della piattaforma per i file OBB sia disponibile in Android 2.3, gli strumenti di sviluppo per la creazione e la gestione di questi file non saranno disponibili fino all'inizio del 2011. - La piattaforma Android 2.3 aggiunge il supporto ufficiale per i dispositivi che non includono schede SD (sebbene fornisca una partizione della scheda SD virtuale, se non è disponibile una scheda SD fisica). Un metodo di utilità,
isExternalStorageRemovable()
, consente alle applicazioni di determinare se è presente una scheda SD fisica. - Nuove costanti per la dichiarazione di funzionalità hardware e software. Vedi l'elenco in nella sezione Nuove costanti di funzionalità di seguito.
PackageInfo
aggiunge nuovi campifirstInstallTime
elastUpdateTime
in cui è archiviata l'ora l'installazione del pacchetto e l'ultimo aggiornamento.- Nuovo metodo
getProviderInfo()
per recuperare tutte le informazioni note su una determinata classe di fornitori di contenuti. TelephonyManager
aggiunge la costanteNETWORK_TYPE_EVDO_B
per specificare il CDMA Tipo di rete EVDO Rev B.- Il nuovo metodo
getPsc()
restituisce il codice di scrambling principale della cella di servizio su una rete UMTS. NativeActivity
è un nuovo tipo di classe Activity, i cui callback del ciclo di vita sono implementati direttamente in codice nativo. Un'NativeActivity
e il relativo codice nativo di base vengono eseguiti nel sistema come le altre attività, nello specifico nel processo di sistema dell'applicazione Android e nel thread dell'interfaccia utente principale dell'applicazione, nonché ricevono gli stessi callback del ciclo di vita delle altre attività.- La nuova classe e interfaccia di callback
InputQueue
consente al codice nativo di gestire la coda di eventi. - La nuova interfaccia di
SurfaceHolder.Callback2
consente di generare codice nativo gestire unSurfaceHolder
. - I nuovi metodi
takeInputQueue
etakeSurface()
inWindow
consentono la gestione del codice nativo eventi e piattaforme. dalvik.system
rimuove diversi corsi precedentemente deprecati.- Librerie di base Dalvik:
- Nuove raccolte:
ArrayDeque
,NavigableMap
,ConcurrentSkipListMap
,LinkedBlockingDeque
- Nuove utilità
Arrays
:binarySearch()
,copyOf()
,copyOfRange()
e altre. CookieManager
perHttpURLConnection
.- API di rete più complete:
InterfaceAddress
,NetworkInterface
eIDN
- Controlli di lettura e scrittura di
File
String.isEmpty()
Normalizer
eNormalizer.Form
- Socket server
javax.net.ssl
migliorati.
- Nuove raccolte:
- Nuovo attributo
xlargeScreens
per<supports-screens>
per indicare se l'applicazione supporta fattori di forma per schermi di grandi dimensioni. Per maggiori dettagli, vedi Supporto di più screen. - Nuovi valori per l'attributo
android:screenOrientation
dell'elemento<activity>
:"reverseLandscape"
: l'attività vorrebbe che schermo con orientamento orizzontale, capovolto nella direzione opposta rispetto a quella normale in un paesaggio."reversePortrait"
: l'attività vorrebbe che lo schermo fosse in orientamento verticale, ruotato nella direzione opposta rispetto al normale verticale."sensorLandscape"
: l'attività vorrebbe avere lo schermo in orientamento orizzontale, ma può utilizzare il sensore per cambiare la direzione in cui è rivolto lo schermo."sensorPortrait"
: l'attività vorrebbe avere lo schermo in orientamento verticale, ma può utilizzare il sensore per cambiare la direzione in cui è rivolto."fullSensor"
: l'orientamento viene determinato da un sensore di orientamento fisico: il display ruota in base al modo in cui l'utente muove il dispositivo. Ciò consente qualsiasi delle 4 rotazioni possibili, indipendentemente da ciò che fa normalmente il dispositivo (ad esempio, alcuni dispositivi di solito non utilizzano la rotazione di 180 gradi).
com.android.permission.SET_ALARM
: consente a un'applicazione trasmettere un intent per impostare una sveglia per l'utente. Un'attività che gestisce l'azione IntentSET_ALARM
dovrebbe richiedere questa autorizzazione.android.permission.USE_SIP
: consente a un'applicazione di utilizzareSIP API
per effettuare o ricevere chiamate su internet.android.permission.NFC
: consente a un'applicazione di utilizzareNFC API
per leggere i tag NFC.android.hardware.audio.low_latency
: l'applicazione utilizza una pipeline audio a bassa latenza sul dispositivo ed è sensibile a ritardi o lag nell'input o nell'output audio.android.hardware.camera.front
: l'applicazione utilizza una fotocamera frontale videocamera sul dispositivo.android.hardware.nfc
— L'applicazione utilizza le funzionalità radio NFC del dispositivo.android.hardware.sensor.barometer
: l'applicazione utilizza l'interfaccia barometro.android.hardware.sensor.gyroscope
: l'applicazione utilizza il sensore giroscopio del dispositivo.android.software.sip
: l'applicazione utilizza l'API SIP sul dispositivo.android.software.sip.voip
: l'applicazione utilizza un VoIP basato su SIP servizio sul dispositivo.android.hardware.touchscreen.multitouch.jazzhand
: l'applicazione utilizza funzionalità multitouch multipunto avanzate sullo schermo del dispositivo per monitorare almeno cinque punti in modo completamente indipendente.
Schermi extra large
La piattaforma ora supporta schermi di dimensioni molto grandi, come quelli che si trovano sui tablet. Gli sviluppatori possono indicare che le loro applicazioni sono progettate per supportare schermi di grandi dimensioni aggiungendo un elemento <supports
screens ... android:xlargeScreens="true">
ai file manifest. Le applicazioni possono utilizzare un nuovo qualificatore delle risorse, xlarge
, per contrassegnare le risorse specifiche per gli schermi extra large. Per
per maggiori dettagli su come supportare schermi molto grandi e di altre dimensioni, consulta l'articolo Supporto di schermi
Schermate.
Grafica
Fornitori di contenuti
Posizione
Spazio di archiviazione
Gestione pacchetti
Telefonia
Accesso nativo al ciclo di vita delle attività, finestre
Android 2.3 espone una vasta gamma di API alle applicazioni che utilizzano le API nel tuo codice. Le classi del framework di interesse per queste applicazioni includono:
Per informazioni complete sull'utilizzo del codice nativo o per scaricare l'NDK, consulta la pagina Android NDK.
Dalvik Runtime
Nuovi elementi e attributi del file manifest
Nuove autorizzazioni
Costanti delle nuove funzionalità
La piattaforma aggiunge diverse nuove funzionalità hardware che gli sviluppatori possono dichiarare nella propria applicazione si manifesta come richiesto dalle applicazioni. Questo consente agli sviluppatori di controllare in che modo la loro applicazione viene filtrata quando viene pubblicata su Google Play.
Per informazioni complete su come dichiarare le caratteristiche e utilizzarle per
dei filtri, consulta la documentazione relativa a <uses-feature>
.
Report sulle differenze API
Per una visualizzazione dettagliata di tutte le modifiche API in Android 2.3 (API livello 9), consulta l'API Report Differenze.
Livello API
La piattaforma Android 2.3 offre una versione aggiornata di l'API del framework. All'API Android 2.3 viene assegnato un identificatore intero (9) 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 nella tua applicazione:
devi compilare l'applicazione sulla base della libreria Android fornita in
la piattaforma SDK Android 2.3. A seconda delle tue esigenze, potresti anche dover aggiungere un attributo android:minSdkVersion="9"
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 in precedenza
più versioni della piattaforma.
Per saperne di più, consulta la pagina Che cos'è l'API Livello?