Honeycomb MR1

Este é o Android 3.1.

O Android 3.1 é uma versão incremental da plataforma que refina muitos dos recursos introduzidos no Android 3.0. Ele usa a mesma interface otimizada para tablets e os recursos oferecidos no Android 3.0, além de adicionar vários novos recursos para usuários e desenvolvedores. Este documento apresenta uma visão geral dos novos recursos e tecnologias introduzidos no Android 3.1. Para conferir uma visão mais detalhada das novas APIs para desenvolvedores, consulte o documento Visão geral da API.

Para uma introdução de alto nível ao Android 3.0, consulte os Destaques da plataforma Android 3.0.

Novos recursos de Usuário

Figura 1. Uma tela inicial do Android 3.1.

Aprimoramentos na interface

A plataforma Android 3.1 adiciona uma variedade de refinamentos para tornar a interface do usuário mais intuitiva e eficiente.

As transições da interface foram aprimoradas em todo o sistema e nos apps padrão. A animação do inicializador foi otimizada para uma transição mais rápida e suave para a lista de apps e vice-versa. Ajustes na cor, posicionamento e texto facilitam a visualização, compreensão e uso dos elementos da interface. A acessibilidade foi melhorada com um feedback sonoro consistente em toda a interface e uma nova configuração para permitir que os usuários personalizem o intervalo de toque prolongado de acordo com as necessidades deles.

A navegação entre as cinco telas iniciais ficou mais fácil. Toque no botão "Início" na barra do sistema para acessar a tela inicial mais usada. As configurações oferecem uma visualização melhorada do armazenamento interno, mostrando o armazenamento usado por um conjunto maior de tipos de arquivo.

Conectividade para acessórios USB

O Android 3.1 adiciona suporte amplo à plataforma para vários periféricos e acessórios conectados por USB. Os usuários podem conectar muitos tipos de dispositivos de entrada (teclados, mouses, controles de jogos) e câmeras digitais. Os aplicativos podem usar o suporte a USB da plataforma para estender a conectividade a quase qualquer tipo de dispositivo USB.

A plataforma também adiciona suporte a acessórios USB, dispositivos de hardware externos projetados para serem conectados a dispositivos Android como hosts USB. Quando um acessório é conectado, o framework procura um aplicativo correspondente e oferece a opção de iniciá-lo para o usuário. O acessório também pode apresentar um URL ao usuário para fazer o download de um aplicativo adequado, se ele ainda não estiver instalado. Os usuários podem interagir com o app para controlar acessórios com energia, como controladores de robótica, estações de base, equipamentos de diagnóstico e musical, quiosques, leitores de cartão e muito mais.

Os recursos USB da plataforma dependem de componentes no hardware do dispositivo. Portanto, o suporte a USB em dispositivos específicos pode variar e é determinado pelos fabricantes do dispositivo.

Figura 2. O menu "Apps recentes" agora pode ser expandido e rolado.

Lista de apps recentes expandida

Para melhorar a multitarefa e ter acesso visual instantâneo a um número muito maior de apps, a lista de apps recentes agora pode ser expandida. Os usuários agora podem rolar a lista de apps recentes verticalmente para ver imagens em miniatura de todas as tarefas em andamento e apps usados recentemente. Em seguida, toque em uma miniatura para voltar à tarefa.

Widgets redimensionáveis da tela inicial

Para uma personalização mais flexível da tela inicial, os usuários agora podem redimensionar os widgets da tela inicial usando barras de arrasto fornecidas pelo sistema. Os usuários podem expandir widgets horizontalmente e/ou verticalmente para incluir mais conteúdo, quando permitido por cada widget.

Suporte a teclados externos e dispositivos apontadores

Agora os usuários podem conectar quase qualquer tipo de teclado ou mouse externo aos dispositivos Android para criar um ambiente familiar e trabalhar com mais eficiência. Um ou mais dispositivos de entrada podem ser conectados ao sistema simultaneamente por USB e/ou HID Bluetooth, em qualquer combinação. Na maioria dos casos, não é necessária nenhuma configuração ou driver especial. Quando vários dispositivos estão conectados, os usuários podem gerenciar o teclado e o IME ativos usando as configurações de teclado disponíveis na barra do sistema.

Para dispositivos de ponteiro, a plataforma oferece suporte à maioria dos tipos de mouse com um único botão e, opcionalmente, uma roda de rolagem, além de dispositivos semelhantes, como trackballs. Quando eles estão conectados, os usuários podem interagir com a interface usando ações padrão como apontar, selecionar, arrastar, rolar, passar o cursor e outras.

Suporte a joysticks e gamepads

Para tornar a plataforma ainda melhor para jogos, o Android 3.1 adiciona suporte à maioria dos joysticks e gamepads de PC conectados por USB ou Bluetooth HID.

Por exemplo, os usuários podem conectar controles de jogo PlayStation®3 e Xbox 360® por USB (mas não Bluetooth), gamepads Logitech Dual Action™ e joysticks de voo ou um controle de corrida de carros. Controles de jogo que usam rede ou pareamento proprietários não têm suporte por padrão, mas, em geral, a plataforma oferece suporte à maioria dos joysticks e gamepads que podem ser conectados ao PC.

Rede Wi-Fi robusta

O Android 3.1 adiciona recursos robustos de Wi-Fi para garantir que os usuários e os apps possam aproveitar ao máximo o acesso ao Wi-Fi de alta velocidade em casa, no trabalho e em qualquer lugar.

Um novo bloqueio de Wi-Fi de alto desempenho permite que os aplicativos mantenham conexões de Wi-Fi de alto desempenho mesmo quando a tela do dispositivo está desligada. Os usuários podem aproveitar isso para reproduzir música, vídeo e serviços de voz em streaming contínuos por longos períodos, mesmo quando o dispositivo está ocioso e a tela está desligada.

Agora os usuários podem configurar um proxy HTTP para cada ponto de acesso Wi-Fi individual tocando e pressionando o ponto de acesso nas Configurações. O navegador usa o proxy HTTP ao se comunicar com a rede pelo ponto de acesso, e outros apps também podem fazer isso. A plataforma também oferece backup e restauração das configurações de IP e proxy definidas pelo usuário.

A plataforma adiciona suporte ao Preferred Network Offload (PNO, desempenhamento de rede preferencial, em tradução livre), um recurso de verificação em segundo plano que economiza bateria em casos em que o Wi-Fi precisa estar disponível continuamente por longos períodos.

Conjunto de apps padrão atualizado

A plataforma Android 3.1 inclui um conjunto atualizado de aplicativos padrão otimizados para uso em dispositivos de tela maior. As seções abaixo destacam alguns dos novos recursos.

Figura 3. Menu "Controles rápidos" no navegador.

Navegador

O app do navegador inclui vários novos recursos e melhorias na interface que tornam a visualização de conteúdo da Web mais simples, rápida e conveniente.

A interface de controles rápidos, acessível nas configurações do navegador, foi ampliada e redesenhada. Agora os usuários podem usar os controles para ver miniaturas de guias abertas e fechar a guia ativa, além de acessar o menu flutuante para acesso instantâneo às configurações e outros controles.

Para garantir uma experiência de visualização consistente, o navegador estende o suporte a padrões da Web conhecidos, como CSS 3D, animações e posicionamento fixo do CSS para todos os sites, seja em dispositivos móveis ou computadores. Ele também adiciona suporte à reprodução incorporada de conteúdo de vídeo HTML5. Para facilitar o gerenciamento de conteúdo favorito, os usuários agora podem salvar uma página da Web localmente para visualização off-line, incluindo todos os estilos e imagens. Para maior comodidade ao visitar sites do Google, uma interface de login automático melhorada permite que os usuários façam login rapidamente e gerenciem o acesso quando vários usuários estão compartilhando um dispositivo.

Para um melhor desempenho, o navegador adiciona suporte a plug-ins que usam renderização acelerada por hardware. A performance do zoom da página também foi bastante aprimorada, tornando a navegação e a visualização de páginas da Web mais rápidas.

Galeria

O app Galeria agora oferece suporte ao protocolo de transferência de imagens (PTP, na sigla em inglês), para que os usuários possam conectar as câmeras por USB e importar as imagens para a Galeria com um toque. O app também copia as imagens para o armazenamento local e fornece um indicador para que os usuários saibam quanto espaço está disponível.

Figura 4. Agora é possível redimensionar widgets da tela inicial.

Agenda

As grades de calendário são maiores para melhorar a legibilidade e a segmentação por toque. Além disso, os usuários podem criar uma área de visualização maior para as grades escondendo os controles da lista de calendários. Os controles no seletor de data foram redesenhados, facilitando a visualização e o uso.

Contatos

Agora, o app Contatos permite localizar contatos com mais facilidade usando a pesquisa de texto completo. A pesquisa retorna resultados correspondentes de todos os campos armazenados para um contato.

E-mail

Ao responder ou encaminhar uma mensagem em HTML, o app de e-mail agora envia corpos de texto simples e HTML como uma mensagem MIME de várias partes. Isso garante que a mensagem seja formatada corretamente para todos os destinatários. Os prefixos de pastas para contas IMAP agora são mais fáceis de definir e gerenciar. Para economizar bateria e minimizar o uso de dados móveis, o aplicativo agora faz preempção de e-mails do servidor somente quando o dispositivo está conectado a um ponto de acesso Wi-Fi.

Um widget atualizado na tela inicial oferece aos usuários acesso rápido a mais e-mails. Os usuários podem tocar no ícone de e-mail na parte de cima do widget para alternar entre rótulos como Inbox, Unread e Starred. O widget agora pode ser redimensionado, tanto horizontalmente quanto verticalmente.

Suporte empresarial

Agora os usuários podem configurar um proxy HTTP para cada ponto de acesso Wi-Fi conectado. Isso permite que os administradores trabalhem com os usuários para definir um nome de host, uma porta e qualquer subdomínio de desvio. Essa configuração de proxy é usada automaticamente pelo navegador quando o ponto de acesso Wi-Fi está conectado e pode ser usado por outros apps. A configuração de proxy e IP agora é salva em backup e restaurada em atualizações e redefinições do sistema.

Para atender às necessidades dos usuários de tablet, a plataforma agora permite que uma política de dispositivo "cartão de armazenamento criptografado" seja aceita em dispositivos com cartões de armazenamento emulado e armazenamento principal criptografado.

Novos recursos para desenvolvedores

A plataforma Android 3.1 adiciona refinamentos e novos recursos que os desenvolvedores podem usar para criar experiências de aplicativos poderosas e envolventes em tablets e outros dispositivos de tela grande.

API Open Accessory para interação avançada com periféricos

O Android 3.1 apresenta uma nova API para integrar acessórios de hardware a aplicativos executados na plataforma. A API oferece uma maneira de interagir com uma ampla variedade de periféricos, de controladores de robótica a equipamentos musicais, bicicletas ergométricas e muito mais.

A API é baseada em uma nova pilha USB (Universal Serial Bus) e serviços integrados à plataforma. A plataforma oferece serviços para descobrir e identificar hardware conectado, além de notificar os aplicativos interessados de que o hardware está disponível.

Quando um usuário conecta um acessório USB, a plataforma recebe informações de identificação, como nome do produto, tipo de acessório, fabricante e versão. A plataforma configura a comunicação com o acessório e usa as informações para notificar e iniciar um app de destino, se disponível. Opcionalmente, um acessório pode fornecer um URL que permite aos usuários encontrar e fazer o download de um app que funcione com o acessório. Esses recursos de descoberta facilitam a configuração inicial para o usuário e garantem que um aplicativo adequado esteja disponível para interagir com o hardware conectado.

Para desenvolvedores de aplicativos e fabricantes de acessórios, o modo acessório oferece muitas novas maneiras de envolver os usuários e criar experiências de interação poderosas com hardware conectado.

Para saber mais sobre como desenvolver aplicativos que interagem com acessórios, consulte a documentação do acessório USB.

API host USB

O Android 3.1 oferece suporte integrado da plataforma ao modo de host USB e expõe uma API que permite que os aplicativos gerenciem os periféricos conectados. Em dispositivos que oferecem suporte ao modo host, os aplicativos podem usar a API para identificar e se comunicar com dispositivos conectados, como dispositivos de áudio, dispositivos de entrada, dispositivos de comunicação, hubs, câmeras e muito mais.

Para saber mais sobre como desenvolver aplicativos que interagem com dispositivos USB, consulte a documentação do host USB.

Entrada de mouses, joysticks e gamepads

O Android 3.1 estende o sistema de eventos de entrada para oferecer suporte a várias novas fontes de entrada e eventos de movimento em todas as visualizações e janelas. Os desenvolvedores podem usar esses recursos para permitir que os usuários interajam com os aplicativos usando mouses, trackballs, joysticks, gamepads e outros dispositivos, além de teclados e telas touchscreen.

Para entrada de mouse e trackball, a plataforma oferece suporte a duas novas ações de evento de movimento: rolagem (horizontal ou vertical), como de uma roda de rolagem, e passar o cursor, que informa a localização do mouse quando nenhum botão é pressionado. Os aplicativos podem processar esses eventos da maneira que precisarem.

Para joysticks e gamepads, a plataforma oferece um grande número de eixos de movimento que os aplicativos podem usar em uma determinada fonte de entrada, como X, Y, Hat X, Hat Y, rotação, aceleração, pressão, tamanho, toque, ferramenta, orientação e outros. Os desenvolvedores também podem definir eixos personalizados, se necessário, para capturar o movimento de outras maneiras. A plataforma fornece eventos de movimento aos aplicativos como um lote, e os aplicativos podem consultar os detalhes dos movimentos incluídos no lote para um processamento de eventos mais eficiente e preciso.

Os aplicativos podem consultar a lista de dispositivos de entrada conectados e os intervalos de movimento (eixos) aceitos por cada dispositivo. Os aplicativos também podem processar vários eventos de entrada e movimento de um único dispositivo de entrada. Por exemplo, um aplicativo pode usar o mouse, o joystick e as fontes de eventos do mouse de um único dispositivo de entrada.

Widgets redimensionáveis da tela inicial

Agora os desenvolvedores podem criar widgets da tela inicial que os usuários podem redimensionar na horizontal, vertical ou em ambos. Basta adicionar um atributo à declaração de um widget para que ele se torne redimensionável na horizontal, na vertical ou em ambos os eixos. Isso permite que os usuários personalizem a exibição do conteúdo do widget e mostrem mais dele nas telas iniciais.

API MTP para integração com câmeras externas

No Android 3.1, uma nova API MTP (Protocolo de transferência de mídia) permite que os desenvolvedores criem apps que interagem diretamente com câmeras conectadas e outros dispositivos PTP. A nova API facilita que os aplicativos recebam notificações quando os dispositivos são conectados e removidos, gerenciem arquivos e armazenamento nesses dispositivos e transfiram arquivos e metadados para e de dispositivos. A API MTP implementa o subconjunto do Protocolo de transferência de imagens (PTP, na sigla em inglês) da especificação do MTP.

API RTP, para controlar sessões de streaming de áudio

O Android 3.1 expõe uma API para a pilha RTP (Protocolo de transporte em tempo real) integrada, que os aplicativos podem usar para gerenciar diretamente o streaming de dados sob demanda ou interativo. Em particular, os apps que oferecem VOIP, push-to-talk, conferências e streaming de áudio podem usar a API para iniciar sessões e transmitir ou receber streams de dados em qualquer rede disponível.

Otimizações de performance

O Android 3.1 inclui várias otimizações de desempenho que ajudam a tornar os aplicativos mais rápidos e responsivos. Algumas das otimizações incluem:

  • Uma nova classe de cache LRU permite que os aplicativos se beneficiem de um armazenamento em cache eficiente. Os aplicativos podem usar a classe para reduzir o tempo gasto na computação ou no download de dados da rede, mantendo uma pegada de memória razoável para os dados em cache.
  • O framework de interface agora oferece suporte a invalidações parciais em visualizações aceleradas por hardware, o que torna as operações de exibição nessas visualizações mais eficientes.
  • Um novo método gráfico, setHasAlpha(), permite que os apps indiquem que um bitmap específico é opaco. Isso oferece um aumento de desempenho extra para alguns tipos de blits e é especialmente útil para aplicativos que usam bitmaps ARGB_8888.