Notas da versão do Android 1.1

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

A imagem do sistema Android 1.1 entregue no SDK é a equivalente à imagem do sistema de produção do Android 1.1, que pode ser implantada no Celulares com Android desde fevereiro de 2009.

A imagem do sistema Android 1.1 oferece uma versão atualizada do framework API. Assim como a API do Android 1.0, a API do Android 1.1 recebe um identificador inteiro, 2, que é armazenadas no próprio sistema. Esse identificador, chamado de "nível da 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 de API do sistema com os quais são compatíveis, adicionando um valor para o 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 do android:minSdkVersion e permite apenas a instalação se o número inteiro referenciado for menor ou igual ao número inteiro de nível de 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 Android 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).

Você especifica o objeto 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 forma, você garante que os usuários só poderão instalar o aplicativo se estão executando a plataforma Android 1.1. Isso garante que seu aplicativo funcionará corretamente nos dispositivos, especialmente se ela usa 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 falhará no tempo de execução quando ele tenta usar as APIs do Android 1.1.

Caso seu aplicativo não use nenhuma API nova introduzida no Android 1.1, é possível indicar a compatibilidade com o Android 1.0 removendo android:minSdkVersion ou a definição do atributo como "1". No entanto, antes de publicar o aplicativo, você precisa compilar o aplicativo com a imagem do sistema 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 com imagens do sistema correspondentes aos níveis de API com que ele foi projetado para ser compatível.

Se você tiver certeza de que seu aplicativo não está usando APIs do Android 1.1 e não precisa usá-las, talvez seja 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 você pode acesso a partir do seu aplicativo, adicionando um <uses-library>.

  • com.google.android.maps — oferece aos aos dados do Google Maps. Para usar os dados do Google Maps, é necessária uma chave da API Maps.

Compatibilidade do dispositivo

A imagem do sistema do Android 1.1 foi testada para compatibilidade com os dispositivos Android listados abaixo:

  • T-Mobile G1

Aplicativos integrados

A imagem do sistema inclui estes aplicativos integrados:

  • Despertador
  • Demonstrações de APIs
  • Navegador
  • Calculadora
  • Câmera
  • Contatos
  • Ferramentas para desenvolvedores
  • Telefone
  • E-mail
  • Mapas (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; listadas abaixo.

  • Inglês, EUA (en_US)
  • Alemão (de)

As strings da interface localizadas correspondem às localidades que podem ser mostradas no emulador, acessíveis pelo aplicativo Configurações do dispositivo.

Problemas resolvidos

  • O alerta AlarmClock agora reproduz áudio/vibe diretamente, em vez de AlarmManager. O alerta do AlarmClock começa a tocar áudio/vibração no IntentReceiver, em vez de no início da atividade. Essas mudanças devem impedir 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 na chamada. os usuários agora precisam toque e arraste.
  • Corrige um bug que causa aproximadamente uma em cada 25 mensagens enviadas no congelar a conexão IMAP (para um servidor baseado no Gmail) quando transferidos à pasta "Enviados".
  • Remove as entradas de configuração de conta automáticas que estavam corrompidas ou não testáveis. Correções menores foram adicionadas a algumas das entradas restantes. Marcas melhorias nas caixas de diálogo de aviso usadas em alguns casos especiais.
  • Muda o intervalo padrão de verificação de e-mail para a cada 15 minutos (em vez de "nunca").
  • Correção de bugs de senha no IMAP para que os usuários possam incluir caracteres especiais nas senhas (por exemplo, espaços).
  • Corrige vários erros na configuração automática e manual da conta
  • Melhora a geração de relatórios para vários erros de conexão, facilitando para que o usuário diagnostique configurações de conta com falha.
  • Corrige 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 usando a preferência do usuário (por exemplo, 24 horas x AM/PM).
  • Agora mostra "cc:" na visualização da mensagem.
  • 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 não compatíveis.

Novos recursos

  • Maps: adiciona detalhes e avaliações quando um usuário faz uma pesquisa no Maps e clicar em uma empresa para conferir os detalhes dela.
  • Discador: o padrão de tempo limite da tela na chamada agora é maior ao usar o viva-voz.
  • Discador: adiciona um item "Mostrar teclado de discagem" / "Ocultar teclado de discagem" ao menu durante a chamada para facilitar a descoberta do teclado de discagem 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 API real (que não seja de teste) mudanças.
  • Adiciona um método para permitir que um processo determine facilmente o UID.
  • Adição de suporte para letreiro em layouts.
  • Adiciona novos métodos para determinar o padding nas visualizações. Útil se você estiver criando suas próprias subclasses de View.
  • Adiciona novas permissões que permitem que um aplicativo transmita um SMS ou uma mensagem push WAP.
  • Limpeza da API: remove o construtor protegido de imagens do sistema vinculadas ao SDK.

Detalhes da mudança na API

Módulo ou recursoMudar a descrição
Anotações para sistemas de teste
Anotação LargeTest adicionada.
Anotação MediumTest adicionada.
Anotação SmallTest adicionada.
Permitir que um processo saiba facilmente o UID dele.
Método público myUid() adicionado à classe android.os.Process
Padding nas visualizações
Método público getBottomPaddingOffset() adicionado à classe android.view.View.
O método público getLeftPaddingOffset() foi adicionado à classe android.view.View.
Método público getRightPaddingOffset() adicionado à classe android.view.View.
O método público getTopPaddingOffset() foi adicionado à classe android.view.View.
Método público isPaddingOffsetRequired() adicionado à classe android.view.View.
Suporte a letreiro
O método público setMarqueeRepeatLimit(int) foi adicionado à classe TextView.
Campo público android.R.attr.marqueeRepeatLimit adicionado
Novas permissões
Campo público android.Manifest.permission.BROADCAST_SMS 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).