Nível da API: 9
Para desenvolvedores, a plataforma Android 2.3
(GINGERBREAD
) está disponível como um
componente para download do SDK do Android. A plataforma para download inclui
uma biblioteca e uma imagem do sistema Android, além de um conjunto de skins de emulador e
mais. Para começar a desenvolver ou testar no Android 2.3,
use o Android SDK Manager para fazer o download da plataforma no SDK.
Visão geral da API
As seções abaixo oferecem uma visão geral técnica das novidades para desenvolvedores na versão 2.3, incluindo novos recursos e mudanças no framework desde a versão anterior.
VoIP baseado em SIP
A plataforma agora inclui uma pilha de protocolo SIP e uma API de framework que permitem que os desenvolvedores criem aplicativos de telefonia pela Internet. Com a API, os aplicativos podem oferecer recursos de ligação sem precisar gerenciar sessões, nível de transporte comunicação ou áudio, que são tratados de maneira transparente pela API e pelos serviços SIP da plataforma.
A API SIP está disponível no pacote
android.net.sip
. A classe de chave é SipManager
, que os aplicativos
usam para configurar e gerenciar perfis SIP e, em seguida, iniciar e receber
chamadas de áudio. Quando uma chamada de áudio é estabelecida, os aplicativos podem silenciar chamadas,
ativar o modo de alto-falante, enviar tons DTMF e muito mais. Os aplicativos também podem usar o
SipManager
para criar conexões SIP genéricas.
A pilha e os serviços SIP subjacentes da plataforma estão disponíveis nos dispositivos em
fica a critério do fabricante e da operadora associada. Por isso,
os aplicativos devem usar o método isApiSupported()
para verificar se o suporte a SIP está disponível, antes
expor a funcionalidade de chamada aos usuários.
Para usar a API SIP, os aplicativos devem solicitar a permissão do usuário:
declarando <uses-permission
android:name="android.permission.INTERNET">
e <uses-permission
android:name="android.permission.USE_SIP">
nos arquivos de manifesto.
Além disso, os desenvolvedores podem solicitar filtros no Google Play, de modo que
os aplicativos deles não sejam detectáveis pelos usuários cujos dispositivos não incluem
a pilha de SIP e os serviços da plataforma. Para solicitar a filtragem, adicione <uses-feature
android:name="android.software.sip"
android:required="true">
e <uses-feature
android:name="android.software.sip.voip">
ao manifesto do aplicativo.
Para mais informações, leia o guia para desenvolvedores do SIP.
Comunicação a curta distância (NFC)
O Android 2.3 inclui uma pilha NFC e uma API de estrutura que permite aos desenvolvedores ler etiquetas NDEF descobertas quando um usuário toca em um dispositivo compatível com NFC. para marcar elementos incorporados em adesivos, pôsteres inteligentes e até mesmo outros dispositivos.
A plataforma fornece os serviços NFC subjacentes que funcionam com o hardware do dispositivo para detectar tags quando elas entram no alcance. Ao detectar uma tag, a plataforma notifica os aplicativos transmitindo uma intent, anexando as mensagens NDEF da tag à intent como extras. Os aplicativos podem criar filtros de intents para reconhecer e lidar com tags e mensagens segmentadas. Por exemplo, depois de receber uma por intent, os aplicativos extraem as mensagens NDEF, armazenam-nas, alertam o ou lidar com elas de outras maneiras.
A API NFC está disponível no pacote android.nfc
. As principais classes são:
NfcAdapter
, que representa o hardware NFC no dispositivo.NdefMessage
, que representa uma mensagem de dados NDEF; o formato padrão em que os "registros" para o transporte de dados são transmitidos dispositivos e tags. Os aplicativos podem receber essas mensagens de intentsACTION_TAG_DISCOVERED
.NdefRecord
, entregue em umNdefMessage
, que descreve o tipo de dados compartilhados e os carrega.
A comunicação NFC depende da tecnologia sem fio no hardware do dispositivo, portanto,
o suporte para os recursos NFC da plataforma em dispositivos específicos é determinado pelo
de seus fabricantes. Para determinar o suporte a NFC no dispositivo atual,
os apps podem chamar isEnabled()
para
consultar o NfcAdapter
. A API NFC está sempre presente,
mas independente do suporte de hardware.
Para usar a API NFC, os aplicativos precisam solicitar a permissão do usuário
declarando <uses-permission
android:name="android.permission.NFC">
nos arquivos de manifesto.
Além disso, os desenvolvedores podem solicitar a filtragem no Google Play para que
os apps não sejam descobertos por usuários cujos dispositivos não oferecem suporte a
NFC. Para solicitar a filtragem, adicione
<uses-feature android:name="android.hardware.nfc"
android:required="true">
ao manifesto do aplicativo.
Para conferir um exemplo de aplicativo que usa a API NFC, consulte NFCDemo.
Giroscópio e outros sensores
O Android 2.3 adiciona suporte de plataforma e API para diversas novas leituras de sensor tipos: giroscópio, vetor de rotação, aceleração linear, gravidade e barômetro. Os desenvolvedores podem usar as novas leituras dos sensores para criar aplicativos que respondem de forma rápida e suave a mudanças precisas na posição e no movimento do dispositivo. A API Sensor informa mudanças de giroscópio e outros sensores para os apps interessados, sejam eles executados no framework do aplicativo ou em código nativo.
Observe que o conjunto específico de sensores de hardware disponíveis em cada dispositivo varia de acordo com os critérios do fabricante do dispositivo.
Os desenvolvedores podem solicitar a filtragem no Google Play para que os
apps não sejam descobertos por usuários cujos dispositivos não oferecem um
sensor de giroscópio. Para fazer isso, adicione <uses-feature
android:name="android.hardware.sensor.gyroscope"
android:required="true">
ao manifesto do aplicativo.
Para detalhes da API, consulte Sensor
.
Suporte a várias câmeras
Agora os aplicativos podem usar qualquer câmera disponível em um dispositivo
para capturar fotos ou vídeos. O Camera
permite
que os aplicativos consultem o número de câmeras disponíveis e as características
únicas de cada uma delas.
- A nova classe
Camera.CameraInfo
armazena as características de posição de uma câmera (orientação, frontal ou traseira). - Os novos métodos
getNumberOfCameras()
egetCameraInfo()
na classeCamera
permitem que os aplicativos consultem as câmeras disponíveis. e abrir a câmera de que precisam. - Com o novo método
get()
, os aplicativos recuperam umCamcorderProfile
para uma câmera específica. - O novo
getJpegEncodingQualityParameter()
permite que os aplicativos extraiam a imagem estática capturar o nível de qualidade de uma câmera específica.
Para conferir um exemplo de código de acesso a uma câmera frontal, consulte CameraPreview.java no app de exemplo do ApiDemos.
A API Camera também adiciona:
- Novos parâmetros para câmeras, incluindo distância e modo de foco, e
QPS máximo/mínimo da prévia. Novos
getFocusDistances()
,getPreviewFpsRange()
egetSupportedPreviewFpsRange()
para receber os parâmetros da câmera, bem comosetPreviewFpsRange()
para definir o frame rate da visualização.
Efeitos de áudio que podem ser misturados
O framework de mídia da plataforma adiciona suporte a novos efeitos de áudio globais ou por faixa, incluindo intensificação de graves, virtualização dos fones de ouvido, equalização e reverberação.
- O novo pacote
android.media.audiofx
fornece a para acessar efeitos de áudio. - O novo
AudioEffect
é a classe base para controlar efeitos de áudio fornecidos pelo framework de áudio do Android. - Novo ID da sessão de áudio que permite que um aplicativo associe um conjunto de efeitos
de áudio a uma instância de
AudioTrack
ouMediaPlayer
. - O novo construtor da classe
AudioTrack
, que permite criar umAudioTrack
com um ID de sessão específico. NovosattachAuxEffect()
,getAudioSessionId()
esetAuxEffectSendLevel()
métodos. - Novos métodos
attachAuxEffect()
,getAudioSessionId()
,setAudioSessionId(int)
esetAuxEffectSendLevel()
e tipos de suporte.
Para conferir um exemplo de código de efeitos de áudio, consulte AudioFxDemo.java (link em inglês) no aplicativo de exemplo ApiDemos.
O framework de mídia também adiciona:
- Novo suporte para tag de altitude em metadados EXIF para arquivos JPEG. Novo método
getAltitude()
para recuperar o valor da tag de altitude EXIF. - O novo método
setOrientationHint()
permite que um aplicativo informe aMediaRecorder
sobre a orientação durante a captura de vídeo.
Gerenciador de downloads
A plataforma inclui um novo serviço do sistema DownloadManager
que processa downloads HTTP de longa duração. Os aplicativos podem solicitar que um URI seja
transferidos por download para um arquivo de destino específico. O DownloadManager
vai realizar o download em segundo plano, cuidando das interações HTTP
e tentando refazer os downloads após falhas ou em todas as mudanças de conectividade e reinicializações
do sistema.
- Os aplicativos podem receber uma instância do
DownloadManager
chamandogetSystemService(String)
e transmitindoDOWNLOAD_SERVICE
Os aplicativos que solicitam downloads por essa API precisam registrar um broadcast receiver paraACTION_NOTIFICATION_CLICKED
, para processar corretamente quando o usuário clica em um download em execução em uma notificação ou na interface do Downloads. - A classe
DownloadManager.Request
permite que um aplicativo forneça todas as informações necessárias para solicitar um novo download, como o URI da solicitação e o destino do download. Um URI de solicitação é o único parâmetro necessário. O destino de download padrão é um volume compartilhado em que o sistema pode excluir o arquivo se precisar recuperar espaço para uso do sistema. Para armazenamento permanente de um download, especifique um destino de download armazenamento (consultesetDestinationUri(Uri)
). - A classe
DownloadManager.Query
oferece métodos que permitem que um aplicativo consulte e filtre downloads ativos.
StrictMode
Para ajudar os desenvolvedores a monitorar e melhorar o desempenho dos aplicativos,
a plataforma oferece uma nova ferramenta do sistema chamada StrictMode
.
Quando implementado em um aplicativo, o StrictMode captura e notifica a
desenvolvedor de atividade acidental no disco ou na rede, que poderia prejudicar
desempenho, como a atividade que ocorre na linha de execução principal do aplicativo
(onde são recebidas operações de interface e animações)
Os desenvolvedores podem avaliar os problemas de uso da rede e do disco gerados no StrictMode
e faça as correções necessárias, mantendo a linha de execução principal mais responsiva e
impedindo que caixas de diálogo ANR sejam exibidas aos usuários.
StrictMode
é a classe principal e a integração principal com o sistema e a VM. A classe oferece métodos de conveniência para gerenciar as políticas de linha de execução e VM que se aplicam à instância.StrictMode.ThreadPolicy
eStrictMode.VmPolicy
contêm as políticas que você define e aplica às instâncias de linha de execução e de VM.
Para mais informações sobre como usar o StrictMode para otimizar sua
aplicativo, consulte a documentação da classe e o exemplo de código em android.os.StrictMode
.
Estrutura de interface
- Compatibilidade com rolagem
- Novo suporte a rolagem excessiva em visualizações e widgets. Nas visualizações, os aplicativos podem ativar/desativar a rolagem para uma determinada visualização, definir o modo de overscoll, controlar a distância de rolagem e lide com os resultados da rolagem.
- Em widgets, os aplicativos podem controlar características de rolagem, como
animação, springback e distância de rolagem. Para mais informações, consulte
android.view.View
eandroid.widget.OverScroller
. ViewConfiguration
também oferece os métodosgetScaledOverflingDistance()
egetScaledOverscrollDistance()
.- Novos atributos
overScrollMode
,overScrollFooter
eoverScrollHeader
para elementos<ListView>
, para controlar o comportamento de rolagem excessiva.
- Suporte à filtragem de toque
- Novo suporte à filtragem de toque, que permite que um aplicativo melhore a a segurança das visualizações que dão acesso a recursos sensíveis. Por exemplo, a filtragem por toque é adequada para garantir a segurança de ações do usuário, como conceder uma solicitação de permissão, fazer uma compra ou clicar em um anúncio. Para mais detalhes, consulte a classe View Documentação.
- Novo atributo
filterTouchesWhenObscured
para elementos de visualização, que declara se os toques devem ser filtrados quando a janela da visualização é obscurecida por outra janela visível. Quando definido como"true"
, a visualização não recebe toques sempre que uma notificação, caixa de diálogo ou outra janela aparece acima da janela da visualização. Consulte Conferir a documentação de segurança para mais detalhes.
Para conferir um exemplo de código de filtragem por toque, consulte SecureView.java no aplicativo de exemplo do ApiDemos.
- Gerenciamento de eventos aprimorado
- Nova classe de base para eventos de entrada,
InputEvent
. A classe oferece métodos que permitem que os aplicativos determinem o significado do evento, por exemplo, consultando o InputDevice de origem do evento.KeyEvent
eMotionEvent
são subclasses deInputEvent
. - Nova classe de base para dispositivos de entrada,
InputDevice
. A classe armazena informações sobre os recursos de um dispositivo de entrada específico e oferece métodos que permitem que os aplicativos determinem como interpretar eventos de um dispositivo de entrada.
- Nova classe de base para eventos de entrada,
- Eventos de movimento aprimorados
- A API
MotionEvent
foi estendida para incluir o "ID de ponteiro" informações, o que permite aos aplicativos acompanhar dedos individuais enquanto eles se mover para cima e para baixo. A classe adiciona vários métodos que permitem que um aplicativo funcione de maneira eficiente com eventos de movimento. - O sistema de entrada agora tem lógica para gerar eventos de movimento com o novo informações do ID do ponteiro, sintetizando identificadores à medida que novos ponteiros são desativados. O o sistema rastreia vários IDs de ponteiro separadamente durante um evento de movimento e garante a continuidade adequada dos ponteiros, avaliando à distância entre o último e o próximo conjunto de ponteiros.
- A API
- Controles de seleção de texto
- Um novo método
setComposingRegion
permite que um aplicativo marque região do texto como texto, mantendo o estilo atual. Um métodogetSelectedText
retorna o texto selecionado para o app. Os métodos estão disponíveis emBaseInputConnection
,InputConnection
eInputConnectionWrapper
. - Novos atributos
textSelectHandle
,textSelectHandleLeft
,textSelectHandleRight
etextSelectHandleWindowStyle
para<TextView>
, para referenciar drawables que serão usados para mostrar âncoras de seleção de texto e o estilo da janela contida.
- Um novo método
- Controles de atividade
ActivityInfo
adiciona novas constantes para gerenciar a orientação da atividade:SCREEN_ORIENTATION_FULL_SENSOR
,SCREEN_ORIENTATION_REVERSE_LANDSCAPE
,SCREEN_ORIENTATION_REVERSE_PORTRAIT
,SCREEN_ORIENTATION_SENSOR_LANDSCAPE
eSCREEN_ORIENTATION_SENSOR_PORTRAIT
.- Nova constante
IMPORTANCE_PERCEPTIBLE
para o campoimportance
emActivityManager.RunningAppProcessInfo
. O valor indica que um processo específico está executando algo que é considerado ativamente perceptível para o usuário. Um exemplo seria um aplicativo que executa a reprodução de música em segundo plano. - O método Activity.setPersistent(boolean) para marcar uma atividade como persistente foi descontinuado, e a implementação não tem efeito.
- Estilos de texto e ícone de notificação
- Novo
TextAppearance.StatusBar.EventContent
,TextAppearance.StatusBar.EventContent.Title
,TextAppearance.StatusBar.Icon
eTextAppearance.StatusBar.Title
para gerenciamento estilo de notificação.
- Novo
- Adiciona os métodos restantes do OpenGL ES 2.0
glDrawElements()
eglVertexAttribPointer()
na classeandroid.opengl.GLES20
. - Adiciona suporte para o formato de pixel
YV12
, um planar 4:2:0 YCrCb. - Nova classe de provedor
AlarmClock
para definir ou processar um alarme. O provedor contém uma ação de intentACTION_SET_ALARM
e extras que podem ser usados para iniciar uma atividade e definir um novo alarme em um aplicativo de despertador. Aplicativos que desejam receber o A intentSET_ALARM
precisa criar uma atividade que exija a a permissão SET_ALARM. Aplicativos que querem criar um novo O alarme precisa usarContext.startActivity()
, para que o usuário tenha a opção de escolher qual aplicativo de despertador usar. MediaStore
oferece suporte a uma nova ação de intent,PLAY_FROM_SEARCH
, que permite que um app pesquise mídia de música e reproduzir conteúdo do resultado automaticamente sempre que possível. Por exemplo, um aplicativo pode disparar essa intent como resultado de um comando de reconhecimento de voz para ouvir música.MediaStore
também adiciona uma nova flagMEDIA_IGNORE_FILENAME
que informa ao leitor de mídia para ignorar mídia no diretório que contém e nos subdiretórios. Os desenvolvedores podem usar isso para evitar que os gráficos apareçam na Galeria e também para impedir que os sons e músicas do aplicativo apareçam no app Música.- O provedor
Settings
adiciona as novas ações de atividadeAPPLICATION_DETAILS_SETTINGS
eMANAGE_ALL_APPLICATIONS_SETTINGS
, que permitem que um app mostre a tela de detalhes de um app específico ou a tela "Gerenciar apps". - O provedor
ContactsContract
adiciona o tipo de dadosContactsContract.CommonDataKinds.SipAddress
, para armazenar o endereço SIP (telefonia na Internet) de um contato. - O
LocationManager
agora rastreia solicitações de aplicativos que resultam em bloqueios de ativação ou de Wi-Fi de acordo comWorkSource
, uma classe gerenciada pelo sistema que identifica o aplicativo.O
LocationManager
rastreia todos os clientes que solicitam atualizações periódicas e informa os provedores sobre eles como um parâmetroWorkSource
ao definir os tempos mínimos de atualização. O provedor de local de rede usaWorkSource
para rastrear as travas de ativação e Wi-Fi iniciadas por um app e as adiciona ao uso de bateria do app informado em "Gerenciar apps". - O
LocationManager
adiciona vários novos métodos que permitem que uma atividade se registre para receber atualizações de localização periódicas ou únicas com base em critérios especificados (consulte abaixo). - Uma nova classe
Criteria
permite que um aplicativo especifique um conjunto de critérios para selecionar um provedor de local. Por exemplo, os provedores podem ser ordenadas de acordo com a precisão, uso de energia, capacidade de informar altitude, velocidade, e rolamento e custo monetário. - O Android 2.3 adiciona uma nova
StorageManager
que oferece suporte a arquivos OBB (Opaque Binary Blob). Embora o suporte da plataforma para OBB esteja disponível no Android 2.3, as ferramentas de desenvolvimento para criar e gerenciar arquivos OBB não estarão disponíveis até o início de 2011. - A plataforma Android 2.3 adiciona suporte oficial para dispositivos que não
incluir cartões SD (embora ele ofereça partição de cartão SD virtual, quando não há
um cartão SD físico está disponível). Um método de conveniência,
isExternalStorageRemovable()
, permite que os aplicativos determina se há um cartão SD físico. - Novas constantes para declarar recursos de hardware e software. Confira a lista em a seção Novas constantes de atributo, abaixo.
PackageInfo
adiciona novos camposfirstInstallTime
elastUpdateTime
que armazenam o horário do na instalação do pacote e na última atualização.- Novo método
getProviderInfo()
para recuperar todas as informações conhecidas sobre para uma classe específica de provedor de conteúdo. - O
TelephonyManager
adiciona a constanteNETWORK_TYPE_EVDO_B
para especificar a classe Tipo de rede EVDO Rev B. - O novo método
getPsc()
retorna o código de codificação principal da célula de serviço em uma rede UMTS. NativeActivity
é um novo tipo de classe de atividade, cujos callbacks de ciclo de vida são implementados diretamente no código nativo. UmNativeActivity
e o código nativo associado são executados no sistema assim como outras atividades. Especificamente, eles são executados no processo do sistema do aplicativo Android e na linha de execução de IU principal do aplicativo, e recebem os mesmos callbacks de ciclo de vida que outras atividades.- A nova classe
InputQueue
e interface de callback permite que para gerenciar as filas de eventos. - A nova interface
SurfaceHolder.Callback2
permite que o código nativo gerencie umSurfaceHolder
. - Os novos métodos
takeInputQueue
etakeSurface()
noWindow
permitem que o código nativo gerencie eventos e plataformas. dalvik.system
remove várias classes que foram descontinuadas;- Bibliotecas principais do Dalvik:
- Novas coleções:
ArrayDeque
,NavigableMap
,ConcurrentSkipListMap
,LinkedBlockingDeque
- Novos utilitários
Arrays
:binarySearch()
,copyOf()
,copyOfRange()
e outros. CookieManager
paraHttpURLConnection
.- APIs de rede mais completas:
InterfaceAddress
,NetworkInterface
eIDN
File
controles de leitura e gravaçãoString.isEmpty()
Normalizer
eNormalizer.Form
- Melhorias nos soquetes de servidor
javax.net.ssl
.
- Novas coleções:
- Novo atributo
xlargeScreens
para<supports-screens>
, para indicar se o aplicativo suporta em formatos de tela muito grandes. Para mais detalhes, consulte Suporte a várias telas. - Novos valores para o atributo
android:screenOrientation
do elemento<activity>
:"reverseLandscape"
: a atividade quer que a tela esteja na orientação paisagem, virada na direção oposta da paisagem normal."reversePortrait"
: a atividade quer que a tela na orientação retrato, virada na direção oposta do normal retrato."sensorLandscape"
: a atividade quer ter a tela na orientação paisagem, mas pode usar o sensor para mudar a direção da tela."sensorPortrait"
: a atividade gostaria de ter a tela na orientação retrato, mas pode usar o sensor para mudar a direção da tela."fullSensor"
: a orientação é determinada por um sensor de orientação: a tela girará de acordo com a forma como o usuário move a dispositivo. Isso permite qualquer uma das 4 rotações possíveis, independentemente do do dispositivo normalmente faz (por exemplo, alguns dispositivos normalmente não usam 180 graus rotação de anúncios.
com.android.permission.SET_ALARM
: permite um aplicativo para transmitir uma intent para definir um alarme para o usuário. Uma atividade que processa a ação da intentSET_ALARM
deve exigir essa permissão.android.permission.USE_SIP
: permite que um aplicativo useSIP API
para fazer ou receber chamadas pela Internet.android.permission.NFC
: permite que um aplicativo use oNFC API
para ler tags NFC.android.hardware.audio.low_latency
: o aplicativo usa um pipeline de áudio de baixa latência no dispositivo e é sensível a atrasos na entrada ou saída de som.android.hardware.camera.front
: o aplicativo usa um câmera do dispositivo.android.hardware.nfc
— O aplicativo usa recursos de rádio NFC no dispositivo.android.hardware.sensor.barometer
: o aplicativo usa o barômetro do dispositivo.android.hardware.sensor.gyroscope
: o aplicativo usa o sensor de giroscópio.android.software.sip
— O aplicativo usa a API SIP no dispositivo.android.software.sip.voip
: o aplicativo usa um serviço VoIP baseado em SIP no dispositivo.android.hardware.touchscreen.multitouch.jazzhand
: o aplicativo usa recursos avançados de multitoque multiponto na tela do dispositivo para rastrear cinco ou mais pontos de forma totalmente independente.
Telas extragrandes
A plataforma agora oferece suporte a tamanhos de tela muito grandes, como aqueles que
podem ser encontradas em tablets. Os desenvolvedores podem indicar que os apps foram
projetados para oferecer suporte a tamanhos de tela extra grandes adicionando um elemento <supports
screens ... android:xlargeScreens="true">
aos arquivos
de manifesto. Os aplicativos podem usar um novo qualificador de recurso, xlarge
, para
marcar recursos específicos para telas extragrandes. Para
detalhes sobre como oferecer suporte a tamanhos de tela extra grandes e outros, consulte Suporte a vários
Telas.
Gráficos
Provedores de conteúdo
Local
Armazenamento
Gerenciador de pacotes
Telefonia
Acesso nativo ao ciclo de vida da atividade e janelas
O Android 2.3 expõe um amplo conjunto de APIs para aplicativos que usam código nativo. As classes de framework de interesse para esses aplicativos incluem:
Para informações completas sobre como trabalhar com código nativo ou fazer o download do NDK, consulte a página Android NDK.
Ambiente de execução do Dalvik
Novos elementos e atributos do manifesto
Novas permissões
Constantes de novos recursos
A plataforma adiciona vários novos recursos de hardware que os desenvolvedores podem declarar nos manifestos de apps como obrigatórios. Isso permite que os desenvolvedores controlem como o aplicativo é filtrado ao ser publicado Google Play
Para informações completas sobre como declarar recursos e usá-los para
filtrar, consulte a documentação de <uses-feature>
.
Relatório de diferenças da API
Para conferir uma visualização detalhada de todas as mudanças de API no Android 2.3 (nível 9 da API), consulte o Relatório de diferenças de API.
Nível da API
A plataforma Android 2.3 oferece uma versão atualizada da API do framework. A API do Android 2.3 recebe um identificador inteiro, 9 — isto é armazenadas no próprio sistema. Esse identificador, chamado de "nível da API", permite que o sistema determine corretamente se um aplicativo é compatível com o sistema antes de instalá-lo.
Para usar as APIs introduzidas no Android 2.3 em seu aplicativo,
você precisa compilar o aplicativo na biblioteca Android fornecida no
a plataforma do SDK do Android 2.3. Dependendo das suas necessidades,
também é necessário adicionar um android:minSdkVersion="9"
ao elemento <uses-sdk>
na classe
manifesto do aplicativo. Se seu aplicativo for projetado para ser executado somente no Android 2.3 ou superior,
a declaração do atributo impede que o aplicativo seja instalado em uma
diferentes da plataforma.
Para mais informações, leia O que é a API Nível?