Data: fevereiro de 2009
Nível da API: 2
Este documento fornece notas de versão para a 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
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 Android a partir de fevereiro de 2009.
A imagem do sistema Android 1.1 oferece uma versão atualizada da API do framework. Assim como a API do Android 1.0, a API do Android 1.1 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 ele antes de instalá-lo.
Os aplicativos indicam o nível mais baixo de API do sistema com que são compatíveis agregando
um valor ao atributo android:minSdkVersion
.
O valor do atributo é um número inteiro correspondente a um identificador de nível
da 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 inteiro de 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 versões mais recentes).
Especificamente, você especifica o atributo android:minSdkVersion
em um elemento <uses-sdk>
como filho de
<manifest>
no arquivo de manifesto. Depois de 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 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
declarar <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 quando
tenta 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
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 em
dispositivos com 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 mais 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 aplicativo acesso aos dados do Google Maps. Para usar dados do Google Maps, é necessário ter 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
- 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, que podem ser acessadas pelo aplicativo de 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, e não no início da atividade. Essas mudanças precisam evitar que os 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.
- Corrige um bug que faz com que aproximadamente 1 em 25 mensagens de saída congelem a conexão IMAP (com um servidor baseado no Gmail) ao serem transferidas para a pasta "Enviados".
- Remove as entradas automáticas de configuração da conta que estavam corrompidas ou não foram testáveis. Foram adicionadas pequenas correções a algumas das entradas restantes. Melhorias nas caixas de diálogo de aviso usadas para alguns casos especiais.
- Altera o intervalo de verificação de e-mails padrão para a cada 15 minutos (em vez de usar "nunca").
- Correção de bugs de citação de senhas no IMAP, para que os usuários possam incluir caracteres especiais em 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.
- 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 data e hora de acordo com a preferência do usuário (por exemplo, 24 horas vs. AM/PM).
- Agora mostra "cc:" na visualização de mensagem.
- Melhora a recuperação de falhas de conexão POP3.
- As regras do analisador POP3 são mais flexíveis 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.
- Discador: o padrão de tempo limite da tela de chamada agora é maior ao usar o viva-voz.
- Discador: adiciona um item "Mostrar teclado" / "Ocultar teclado" ao menu em 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
- Adiciona 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. Isso é útil se você estiver
escrevendo suas próprias
subclasses de
View
. - Adiciona novas permissões que permitem que um aplicativo transmita uma mensagem SMS ou WAP Push.
- Limpeza da API: remove o construtor protegido das imagens do sistema vinculadas ao SDK.
Detalhes de 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 saiba facilmente o UID. | |
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 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). |