Nível da API: 10
O Android 2.3.3 (GINGERBREAD_MR1
)
é uma pequena versão de recurso 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 Android e uma imagem do sistema, além de um conjunto de skins do 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 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, 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 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. Anteriormente, a plataforma
usava um envio de intent de etapa única para notificar os aplicativos interessados de que uma tag
foi descoberta. A plataforma agora usa um processo de quatro etapas que permite que o
aplicativo em primeiro plano assuma o controle de um evento de tag antes que ele seja transmitido para
outros aplicativos (android.nfc.NfcAdapter.enableForegroundDispatch()
).
O novo processo de envio também permite que os apps detectem conteúdo de tag e
tecnologias de tag específicos, 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 contém determinados registros NDEF de tipos diferentes. Os aplicativos 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 tag subjacente.TagTechnology
, uma interface que dá aos aplicativos acesso às propriedades de tags e operações de E/S com base nas tecnologias presentes na tag. Para ver uma lista completa das 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 são compatíveis
com 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, independentemente do suporte de hardware subjacente.
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, de modo que
os apps não sejam detectáveis para 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 ver mais informações, leia o guia do desenvolvedor de NFC.
Bluetooth
O Android 2.3.3 adiciona compatibilidade com plataforma e API para conexões de soquete Bluetooth não seguras. Isso permite que os aplicativos se comuniquem com dispositivos simples que não ofereçam
uma IU 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 precisa apenas de partes dela. - 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.
Framework 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 de banda larga AMR e AAC.
Reconhecimento de fala
A API Speech-recognition inclui novas constantes para permitir que você gerencie 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 aplicativo. Para saber mais, consulte RecognizerResultsIntent
.
Nível de API
A plataforma Android 2.3.3 fornece 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 de 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,
você precisa compilar o aplicativo na biblioteca Android fornecida na
plataforma SDK do Android 2.3.3. Dependendo do que você precisa, talvez
também seja necessário adicionar um atributo android:minSdkVersion="10"
ao elemento <uses-sdk>
no manifesto
do aplicativo. Se o aplicativo foi projetado para ser executado apenas no Android 2.3 e versões mais recentes,
a declaração do atributo evita que o aplicativo seja instalado em versões
anteriores da plataforma.
Para ver mais informações, leia O que é o nível da API?