Nível da API: 10
O Android 2.3.3 (GINGERBREAD_MR1
)
é uma pequena versão de recursos 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 disponível para download inclui uma biblioteca Android e uma imagem do sistema, além de um conjunto de skins de emulador e muito 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 seu SDK.
Visão geral da API
As seções abaixo fornecem uma visão geral técnica das novidades para os desenvolvedores na versão 2.3.3, incluindo novos recursos e mudanças na API de framework desde a versão anterior.
Comunicação a curta distância (NFC)
O Android 2.3.3 oferece suporte aprimorado e estendido à NFC para permitir que os aplicativos interajam com mais tipos de etiquetas de novas maneiras.
Um conjunto novo e abrangente de APIs oferece aos aplicativos acesso de leitura e gravação a uma ampla variedade de tecnologias de tag 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 ultraleve
- Tags NDEF de fórum de NFC
A plataforma também fornece um protocolo limitado de comunicação ponto a ponto e API. 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 etapa única para notificar os aplicativos interessados de que uma tag havia sido descoberta. A plataforma agora usa um processo de quatro etapas que permite que o aplicativo em primeiro plano controle um evento de tag antes que ele seja transmitido para qualquer outro aplicativo (android.nfc.NfcAdapter.enableForegroundDispatch()
). O novo processo de envio também permite que os apps detectem conteúdo de tag específico e tecnologias de tag 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 principais classes são:
NfcAdapter
, que representa o hardware de NFC no dispositivo.NdefMessage
, que representa uma mensagem de dados NDEF, o formato padrão em que "registros" que transportam dados são transmitidos entre dispositivos e tags. Uma mensagem NDEF inclui alguns registros NDEF de tipos diferentes. Os apps podem receber essas mensagens de intentsNDEF_DISCOVERED
,TECH_DISCOVERED
ouTAG_DISCOVERED
.NdefRecord
, entregue em umNdefMessage
, que descreve o tipo de dados que está sendo compartilhado e carrega os dados em si.Tag
, que representa uma tag verificada pelo dispositivo. Vários tipos de tags são compatíveis, com base na tecnologia de tags subjacente.TagTechnology
, uma interface que concede aos aplicativos acesso a propriedades de tags e operações de E/S com base nas tecnologias presentes nela. Para conferir uma lista completa de tecnologias de tag com suporte no 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. Os dispositivos Android que não têm suporte à
NFC vão retornar um objeto nulo quando
getDefaultAdapter(Context)
for chamado, e
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
retornará false
. No entanto, a API NFC está sempre presente, 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 filtragem no Google Play para que
os aplicativos não sejam detectáveis para usuários com dispositivos sem suporte à
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 do desenvolvedor de NFC.
Bluetooth
O Android 2.3.3 adiciona suporte de 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
BitmapRegionDecoder
permite que os aplicativos decodifiquem uma região retangular de uma imagem. A API é particularmente útil quando uma imagem original é grande e o aplicativo só precisa de partes da imagem. - Um novo campo
inPreferQualityOverSpeed
emBitmapFactory.Options
permite que os aplicativos usem um método IDCT mais preciso, mas um pouco mais lento, na decodificação de JPEG. Isso, por sua vez, melhora a qualidade da imagem reconstruída.
Estrutura de mídia
- Uma nova classe
MediaMetadataRetriever
fornece uma interface unificada para recuperar frame e metadados de um arquivo de mídia de entrada. MediaRecorder.AudioEncoder
eMediaRecorder.OutputFormat
incluem novos campos para especificar os formatos AMR de banda larga e AAC.
Reconhecimento de fala
A API de reconhecimento de fala inclui novas constantes para permitir que você gerencie
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 de API
A plataforma Android 2.3.3 oferece uma versão atualizada da API do framework. A API do Android 2.3.3 recebe um identificador 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 ele antes da instalação.
Para usar as APIs introduzidas no Android 2.3.3,
você precisa compilar o aplicativo na biblioteca Android fornecida na
plataforma SDK do Android 2.3.3. Dependendo das suas necessidades, talvez
também 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 vai impedir que o aplicativo seja instalado em versões
anteriores da plataforma.
Para mais informações, leia O que é o nível da API?