Data: fevereiro de 2009
Nível da API: 2
Este documento fornece notas da 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 IU
- Problemas resolvidos
- Novos recursos
- Mudanças na API
Visão geral
A imagem do sistema Android 1.1 fornecida no SDK é a contraparte do desenvolvimento da imagem do sistema de produção do Android 1.1, que pode ser implantada em celulares com tecnologia Android a partir de fevereiro de 2009.
A imagem do sistema do Android 1.1 fornece uma versão atualizada da API do framework. Assim como a API do Android 1.0, essa API recebe um identificador de números inteiros (2) 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.
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 apenas
se o número inteiro referenciado for menor ou igual ao número inteiro do nível de API armazenado
no próprio sistema.
Se você usa a imagem do sistema Android 1.1 para criar um aplicativo
compatível com dispositivos que executam a plataforma
Android 1.1, é 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 aplicativo se os
dispositivos estiverem executando a plataforma Android 1.1. Por sua vez, isso garante que
o aplicativo funcione corretamente nos dispositivos, especialmente se
usar APIs introduzidas no Android 1.1.
Se o aplicativo usa APIs introduzidas no Android 1.1, mas não
declara <uses-sdk android:minSdkVersion="2" />
, ele é
executado corretamente em dispositivos Android 1.1, mas não em dispositivos
Android 1.0. No último caso, o aplicativo falhará durante a execução quando
tentar usar as APIs do Android 1.1.
Se o aplicativo não usa nenhuma nova API introduzida no Android
1.1, você pode indicar a compatibilidade com o Android 1.0 removendo
android:minSdkVersion
ou definindo o atributo como "1". No entanto, antes de publicar seu aplicativo, você precisa compilá-lo usando a 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 relação a 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 o 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 testes adicionais.
Bibliotecas externas
A imagem do sistema inclui essas bibliotecas externas, que você pode acessar pelo aplicativo adicionando uma <uses-library>.
- com.google.android.maps: dá ao seu aplicativo acesso aos dados do Google Maps. Para usar dados do Google Maps, é necessária uma chave de API Maps.
Compatibilidade do dispositivo
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 estes aplicativos integrados:
- Despertador
- Demonstrações de API
- Navegador
- Calculadora
- Câmera
- Contatos
- Ferramentas para desenvolvedores
- Discador
- Google Maps (e Street View)
- Mensagens
- Musical
- Imagens
- Configurações
Localizações da IU
A imagem do sistema fornece strings de IU localizadas para os idiomas listados abaixo.
- Inglês e EUA (en_US)
- German (de)
As strings de IU localizadas correspondem às localidades que podem ser exibidas no emulador, acessíveis pelo aplicativo Configurações do dispositivo.
Problemas resolvidos
- O alerta AlarmClock agora toca áudio/vibe diretamente, e não pelo AlarmManager. O alerta AlarmClock começa a tocar áudio/vibe no IntentReceiver, em vez de no início da atividade. Essas mudanças precisam evitar que os alarmes sejam bloqueados por caixas de diálogo modais.
- Correções no modo de suspensão do dispositivo.
- O toque único não abre mais o teclado de chamada na chamada. Os usuários agora precisam tocar nele e arrastá-lo.
- Corrige um bug que fazia com que aproximadamente 1 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 da conta que estavam corrompidas ou não foram testáveis. Adiciona pequenas correções a algumas das entradas restantes. Faz melhorias nas caixas de diálogo de aviso usadas em alguns casos especiais.
- O intervalo padrão de verificação de e-mails foi alterado para a cada 15 minutos, em vez de o padrão ser "nunca".
- Correção de bugs de citação de senhas no IMAP, para que os usuários possam incluir caracteres especiais nas senhas, como espaços.
- Corrige vários erros na configuração da conta automática e manual.
- Melhora a geração de relatórios para vários erros de conexão, facilitando o diagnóstico de configurações da conta com falha.
- Corrige as 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 com base na preferência do usuário (por exemplo, 24 horas vs. AM/PM).
- Agora mostra cc: na visualização da mensagem.
- Melhora a recuperação de falhas de conexão POP3.
- As regras do analisador de POP3 são menores 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 dela.
- Telefone: o padrão de tempo limite da tela de 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
Visão geral
- Adição de anotações para sistemas de teste, sem mudanças reais (que não sejam de teste).
- Adiciona um método para permitir que um processo determine facilmente o UID.
- Adição de suporte para letreiro em layouts.
- Adição de novos métodos para determinar o padding nas visualizações. É útil se você estiver
escrevendo suas próprias
subclasses de
View
. - Adiciona novas permissões que autorizam um aplicativo a transmitir uma mensagem SMS ou WAP Push.
- Limpeza da API: remove o construtor protegido das imagens do sistema vinculadas ao SDK.
Detalhes da mudança na 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 identifique facilmente o UID dele. | |
O método público myUid() foi adicionado à classe android.os.Process | |
Preenchimento de visualizações | |
Adição do método público getBottomPaddingOffset() à classe android.view.View . | |
Adição do método público getLeftPaddingOffset() à classe android.view.View . | |
Adição do método público getRightPaddingOffset() à classe android.view.View . | |
Adição do método público getTopPaddingOffset() à classe android.view.View . | |
Adição do método público isPaddingOffsetRequired() à classe android.view.View . | |
Suporte a letreiro | |
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 APIs | |
Remoção do construtor protegido java.net.ServerSocket.ServerSocket(java.net.SocketImpl). |