Data: fevereiro de 2009
Nível da API: 2
Este documento fornece notas de versão da imagem do sistema Android 1.1 incluída no SDK.
- Visão geral
- Bibliotecas externas
- Compatibilidade do dispositivo
- Aplicativos integrados
- Localizações da interface
- Problemas resolvidos
- Novos recursos
- Mudanças na API
Informações gerais
A imagem do sistema Android 1.1 fornecida no SDK é a contraparte de desenvolvimento da imagem do sistema de produção do Android 1.1, que pode ser implantada em dispositivos com tecnologia Android a partir de fevereiro de 2009.
A imagem do sistema do Android 1.1 oferece uma versão atualizada da API do framework. Assim como na API do Android 1.0, a API do Android 1.1 recebe um identificador de número inteiro (2) 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.
Os aplicativos indicam o nível mais baixo da API do sistema com que são compatíveis, adicionando
um valor ao atributo android:minSdkVersion
.
O valor do atributo é um número inteiro correspondente a um identificador de
nível de API. Antes de instalar um aplicativo, o sistema verifica o valor de
android:minSdkVersion
e permite a instalação somente
se o número inteiro referenciado for menor ou igual ao inteiro do nível da API armazenado
no próprio sistema.
Se você usar a imagem do sistema Android 1.1 para criar um aplicativo
compatível com dispositivos com tecnologia Android que executam a plataforma
Android 1.1, será necessário definir o atributo
android:minSdkVersion
como "2" para especificar que o aplicativo
é compatível apenas com dispositivos que usam a imagem do sistema Android 1.1 (ou mais recente).
Especificamente, você especifica o atributo android:minSdkVersion
em um elemento <uses-sdk>
como filho de
<manifest>
no arquivo de manifesto. Quando definido, o
atributo fica assim:
<manifest>
...
<uses-sdk android:minSdkVersion="2" />
...
</manifest>
Ao definir android:minSdkVersion
dessa maneira, você garante
que os usuários só possam instalar seu app se os
dispositivos estiverem executando a plataforma Android 1.1. Por sua vez, isso garante que
o aplicativo funcionará corretamente nos dispositivos, especialmente se
ele usar APIs introduzidas no Android 1.1.
Se o aplicativo usar APIs introduzidas no Android 1.1, mas não
declara <uses-sdk android:minSdkVersion="2" />
, ele será
executado corretamente em dispositivos Android 1.1, mas não em dispositivos
Android 1.0. No último caso, o aplicativo falha durante a execução ao
tentar usar as APIs do Android 1.1.
Caso seu aplicativo não use nenhuma das novas APIs introduzidas no Android
1.1, indique a compatibilidade com o Android 1.0 removendo
android:minSdkVersion
ou definindo o atributo como "1". No entanto,
antes de publicar o aplicativo, é necessário compilá-lo
na imagem do sistema do Android 1.0 (disponível no
SDK do Android 1.0) para garantir que ele seja criado e funcione corretamente para
dispositivos Android 1.0. Teste o aplicativo em imagens do sistema
correspondentes aos níveis de API com que o aplicativo foi projetado
para ser compatível.
Se você tem certeza de que seu aplicativo não está usando as APIs do Android 1.1 e não precisa usá-las, pode ser mais fácil continuar trabalhando no SDK do Android 1.0, em vez de migrar para o SDK do Android 1.1 e ter que fazer outros testes.
Bibliotecas externas
A imagem do sistema inclui essas bibliotecas externas, que podem ser acessadas no aplicativo adicionando uma <uses-library>.
- com.google.android.maps: dá ao app acesso aos dados do Google Maps. Para usar os dados do Google Maps, é necessário ter uma chave de API Maps.
Compatibilidade de dispositivos
A imagem do sistema Android 1.1 foi testada quanto à compatibilidade com os dispositivos Android listados abaixo:
- T-Mobile G1
Aplicativos integrados
A imagem do sistema inclui os seguintes aplicativos integrados:
- Despertador
- Demonstrações de API
- Navegador
- Calculadora
- Câmera
- Contatos
- Ferramentas para desenvolvedores
- Discador
- Google Maps (e Street View)
- Mensagens
- Música
- Imagens
- Configurações
Localizações da interface
A imagem do sistema fornece strings de interface localizadas para os idiomas listados abaixo.
- Inglês e EUA (en_US)
- German (de)
As strings de interface localizadas correspondem às localidades que podem ser exibidas no emulador e podem ser acessadas pelo aplicativo Configurações do dispositivo.
Problemas resolvidos
- O alerta AlarmClock agora reproduz áudio/vibe diretamente, em vez de usar o AlarmManager. O alerta AlarmClock começa a tocar áudio/vibe no IntentReceiver, em vez de no início da atividade. Essas mudanças devem evitar que alarmes sejam bloqueados por caixas de diálogo modais.
- Correções de suspensão do dispositivo.
- O toque único não abre mais o teclado da chamada. Os usuários agora precisam tocar nele e arrastá-lo.
- Correção de um bug que fazia com que aproximadamente uma em 25 mensagens enviadas congelasse a conexão IMAP (com um servidor baseado no Gmail) quando transferida para a pasta "Enviados".
- Remove as entradas automáticas de configuração de conta que estão corrompidas ou não são testáveis. Adiciona pequenas correções a algumas das entradas restantes. Faz melhorias nas caixas de diálogo de aviso usadas para alguns casos especiais.
- O intervalo padrão de verificação de e-mails foi alterado para a cada 15 minutos, em vez de "nunca" ser o padrão.
- Correção de bugs de citação de senhas no IMAP, para que os usuários possam incluir caracteres especiais nas senhas (por exemplo, espaços).
- Corrige vários erros na configuração da conta automática e manual
- Melhora os relatórios de vários erros de conexão, facilitando o diagnóstico de configurações da conta com falha.
- Correção das notificações de novos e-mails para contas POP3.
- Garante a verificação automática adequada de contas marcadas como "nunca verificar".
- Agora exibe a data e a hora de acordo com a preferência do usuário (por exemplo, 24 horas em vez de AM/PM).
- Agora exibe "cc:" na visualização de mensagens.
- Melhora a recuperação de falhas de conexão POP3.
- As regras do analisador POP3 foram flexibilizadas para que o aplicativo funcione com servidores de e-mail incompatíveis.
Novos recursos
- Maps: adiciona detalhes e avaliações quando um usuário faz uma pesquisa no Maps e clica em uma empresa para conferir os detalhes.
- Telefone: o padrão de tempo limite da tela em chamada agora é maior ao usar o viva-voz.
- Telefone: adiciona um item "Mostrar teclado" / "Ocultar teclado" ao menu na chamada para facilitar a descoberta do teclado DTMF.
- Adição de suporte para salvar anexos do MMS
- Adição de suporte para letreiro em layouts.
Mudanças na API
Informações gerais
- Foram adicionadas anotações para sistemas de teste, sem mudanças reais (que não sejam de teste) na API.
- Adiciona um método para permitir que um processo determine o UID com facilidade.
- Adição de suporte para letreiro em layouts.
- Adiciona novos métodos para determinar o padding em visualizações. Isso é útil se você estiver
criando suas próprias
subclasses de
View
. - Adiciona novas permissões que autorizam um aplicativo a transmitir uma mensagem SMS ou push por WAP.
- Limpeza da API: remove o construtor protegido das imagens do sistema vinculadas ao SDK
Detalhes de alteração da API
Módulo ou recurso | Descrição da mudança |
---|---|
Anotações para sistemas de teste | |
Anotação LargeTest adicionada. | |
Anotação MediumTest adicionada. | |
Anotação SmallTest adicionada. | |
Permita que um processo conheça o UID dele com facilidade. | |
O método público myUid() foi adicionado à classe android.os.Process | |
Padding nas visualizações | |
O método público getBottomPaddingOffset() foi adicionado à classe android.view.View . | |
O método público getLeftPaddingOffset() foi adicionado à classe android.view.View . | |
O método público getRightPaddingOffset() foi adicionado à classe android.view.View . | |
O método público getTopPaddingOffset() foi adicionado à classe android.view.View . | |
O método público isPaddingOffsetRequired() foi adicionado à classe android.view.View . | |
Suporte a letreiros | |
O método público setMarqueeRepeatLimit(int) foi adicionado à classe TextView | |
O campo público android.R.attr.marqueeRepeatLimit foi adicionado | |
Novas permissões | |
O campo público android.Manifest.permission.BROADCAST_SMS foi adicionado | |
O campo público android.Manifest.permission.BROADCAST_WAP_PUSH foi adicionado | |
Limpeza de API | |
Remoção do construtor protegido java.net.ServerSocket.ServerSocket(java.net.SocketImpl). |