Notas da versão do Android 1.1

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.

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
  • E-mail
  • 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 recursoDescriçã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).