Nível da API:10
O Android 2.3.3 (GINGERBREAD_MR1)
é uma versão de recurso pequena que adiciona várias melhorias
e APIs à plataforma Android 2.3.
Para desenvolvedores, a plataforma Android 2.3.3 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.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.3, incluindo novos recursos e mudanças na API do framework desde a versão anterior.
Comunicação a curta distância (NFC)
O Android 2.3.3 oferece suporte aprimorado e estendido para NFC, permitindo que os aplicativos interajam com mais tipos de tags de novas maneiras.
Um novo conjunto abrangente de APIs oferece aos aplicativos acesso de leitura e gravação a uma variedade maior de tecnologias de tags padrão, incluindo:
- 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
- Tags NDEF do NFC Forum
A plataforma também oferece um protocolo de comunicação ponto a ponto e uma API limitados. As atividades em primeiro plano podem usar a API para registrar uma mensagem NDEF que será enviada a outros dispositivos NFC quando eles se conectarem.
O envio avançado de tags agora oferece aos aplicativos mais controle sobre como e
quando eles são iniciados, quando uma tag NFC é descoberta. Antes, a plataforma
usava um envio de intent de uma etapa para notificar os apps interessados de que uma tag
havia sido descoberta. A plataforma agora usa um processo de quatro etapas que permite que o
app em primeiro plano assuma o controle de um evento de tag antes que ele seja transmitido para qualquer
outro app (android.nfc.NfcAdapter.enableForegroundDispatch()).
O novo processo de envio também permite que os apps detectem conteúdo e
tecnologias de tags específicas com base em duas novas ações de intent:
android.nfc.action.NDEF_DISCOVERED e
android.nfc.action.TECH_DISCOVERED.
A API NFC está disponível nos pacotes android.nfc e
android.nfc.tech. As classes principais 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" que transportam dados são transmitidos entre dispositivos e tags. Uma mensagem NDEF contém muitos registros NDEF de tipos diferentes. Os apps podem receber essas mensagens de intentsNDEF_DISCOVERED,TECH_DISCOVEREDouTAG_DISCOVERED.NdefRecord, entregue em umNdefMessage, que descreve o tipo de dados compartilhados e os carrega.Tag, que representa uma tag lida pelo dispositivo. Vários tipos de tags são aceitos com base na tecnologia de tag subjacente.TagTechnology, uma interface que dá aos aplicativos acesso a propriedades de tag e operações de E/S com base nas tecnologias presentes na tag. Para conferir uma lista completa de tecnologias de tags compatíveis com o Android 2.3.3, consulteandroid.nfc.tech.
A comunicação NFC depende da tecnologia sem fio no hardware do dispositivo e
não está presente em todos os dispositivos Android. Dispositivos Android que não oferecem suporte a
NFC vão retornar um objeto nulo quando
getDefaultAdapter(Context) for chamado, e
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
vai retornar false. A API NFC está sempre presente, independentemente do
suporte do 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 com dispositivos que 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 mais informações, leia o guia para desenvolvedores de NFC.
Bluetooth
O Android 2.3.3 adiciona suporte à plataforma e à API para conexões de soquete
não seguras do Bluetooth. Isso permite que os aplicativos se comuniquem com dispositivos simples que podem não
oferecer uma interface para autenticação. Consulte
createInsecureRfcommSocketToServiceRecord(java.util.UUID) e
listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
para mais informações.
Gráficos
- Uma nova classe
BitmapRegionDecoderpermite que os aplicativos decodifiquem uma região retangular de uma imagem. A API é particularmente útil quando uma imagem original é grande e o aplicativo precisa apenas de partes dela. - Um novo campo
inPreferQualityOverSpeedemBitmapFactory.Optionspermite que os aplicativos usem um método IDCT mais preciso, mas um pouco mais lento na decodificação JPEG. Isso melhora a qualidade da imagem reconstruída.
Estrutura de mídia
- Uma nova classe
MediaMetadataRetrieveroferece uma interface unificada para recuperar frames e metadados de um arquivo de mídia de entrada. MediaRecorder.AudioEncodereMediaRecorder.OutputFormatincluem novos campos para especificar formatos AMR Wideband e AAC.
Reconhecimento de fala
A API de reconhecimento de fala inclui novas constantes para que você possa gerenciar os resultados da pesquisa
por voz de novas maneiras. Embora as novas constantes não sejam necessárias para o uso normal
do reconhecimento de fala, elas podem ser usadas para oferecer uma visualização diferente dos resultados
da pesquisa por voz no seu app. Para mais informações, consulte RecognizerResultsIntent.
Nível da API
A plataforma Android 2.3.3 oferece uma versão atualizada da API do framework. A API do Android 2.3.3 é designada com um identificador de número inteiro, 10, que é armazenado 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.3 no seu aplicativo,
compile o aplicativo com a biblioteca do Android fornecida na
plataforma do SDK do Android 2.3.3. Dependendo das suas necessidades, talvez
seja necessário adicionar um atributo android:minSdkVersion="10"
ao elemento <uses-sdk> no manifesto
do aplicativo. Se o aplicativo for projetado para ser executado apenas no Android 2.3 e versões mais recentes,
a declaração do atributo impede que o aplicativo seja instalado em versões anteriores
da plataforma.
Para mais informações, leia O que é o nível da API?