Partilhar via


Oreo Destaques

Como começar a usar o Xamarin.Android para desenvolver aplicativos para a versão mais recente do Android.

Android 8.0 Oreo é a versão mais recente do Android disponível no Google. O Android Oreo oferece muitos novos recursos de interesse para os desenvolvedores do Xamarin.Android. Esses recursos incluem canais de notificação, selos de notificação, fontes personalizadas em XML, fontes para download, preenchimento automático e PIP (picture in picture). O Android Oreo inclui novas APIs para esses novos recursos, e essas APIs estão disponíveis para aplicativos Xamarin.Android quando você usa o Xamarin.Android 8.0 e posterior.

Imagem do herói do Android Oreo

Este artigo está estruturado para ajudá-lo a começar a desenvolver aplicativos Xamarin.Android para Android 8.0 Oreo. Ele explica como instalar as atualizações necessárias, configurar o SDK e criar um emulador (ou dispositivo) para teste. Ele também fornece um esboço dos novos recursos no Android 8.0 Oreo, com links para aplicativos de exemplo que ilustram como usar os recursos do Android Oreo em aplicativos Xamarin.Android.

Requisitos

O seguinte é necessário para usar os recursos do Android Oreo em aplicativos baseados no Xamarin:

  • Visual Studio – Se você estiver usando o Windows, a versão 15.5 ou posterior do Visual Studio é necessária. Se você estiver usando um Mac, Visual Studio para Mac versão 7.2.0 é necessário.

  • Xamarin.Android – Xamarin.Android 8.0 ou posterior deve ser instalado e configurado com o Visual Studio.

  • Android SDK – Android SDK 8.0 (API 26) ou posterior deve ser instalado através do Android SDK Manager.

Introdução

Para começar a usar o Android Oreo com Xamarin.Android, você deve baixar e instalar as ferramentas e pacotes SDK mais recentes antes de criar um projeto Android Oreo:

  1. Atualize para a versão mais recente do Visual Studio.

  2. Instale os pacotes e ferramentas do Android 8.0.0 (API 26) ou posterior por meio do SDK Manager.

  3. Crie um novo projeto Xamarin.Android destinado ao Android Oreo (API 26).

  4. Configure um emulador ou dispositivo para testar aplicativos Android Oreo.

Cada uma dessas etapas é explicada nas seguintes seções:

Atualizar o Visual Studio e o Xamarin.Android

Para adicionar suporte ao Android Oreo ao Visual Studio, faça o seguinte:

Para obter mais informações sobre o suporte do Xamarin para Android Oreo, consulte as notas de versão do Xamarin.Android 8.0.

Instalar o SDK do Android

Para criar um projeto com o Xamarin.Android 8.0, você deve primeiro usar o Xamarin Android SDK Manager para instalar a plataforma SDK para Android 8.0 - Oreo ou posterior. Você também deve instalar o Android SDK Tools 26.0 ou posterior.

  1. Inicie o Gerenciador do SDK (no Visual Studio, clique em Ferramentas > Android > Android SDK Manager).

  2. Instale os pacotes Android 8.0 - Oreo . Se você estiver usando o emulador do SDK do Android, certifique-se de incluir as imagens do sistema x86 que você precisará:

    Selecionando pacotes do Android 8.0 no Gerenciador do SDK do Android

  3. Instale o Android SDK Tools 26.0.2 ou posterior, o Android SDK Platform-Tools 26.0.0 ou posterior e o Android SDK Build-Tools 26.0.0 (ou posterior):

    Selecionando o Android SDK Tools 26 no Android SDK Manager

Iniciar um projeto Xamarin.Android

Crie um novo projeto Xamarin.Android. Se você é novo no desenvolvimento do Android com o Xamarin, consulte Olá, Android para saber mais sobre como criar projetos do Xamarin.Android.

Ao criar um projeto Android, você deve definir as configurações de versão para direcionar o Android 8.0 ou posterior. Por exemplo, para direcionar seu projeto para o Android 8.0, você deve configurar o nível de API do Android de destino do seu projeto para Android 8.0 (API 26). É recomendável que você também defina o nível da estrutura de destino para a API 26 ou posterior. Para obter mais informações sobre como configurar os níveis de API do Android, consulte Noções básicas sobre os níveis de API do Android.

Configurar um emulador ou dispositivo

Se você tentar iniciar o AVD Manager padrão baseado na GUI do Google depois de instalar o Android SDK Tools 26.0 ou posterior, você pode obter a seguinte caixa de diálogo de erro, que instrui você a usar a ferramenta de linha de comando AVD manager avdmanager em vez disso:

Essa mensagem é exibida porque o Google não fornece mais um gerenciador AVD de GUI autônomo que ofereça suporte à API 26.0 e posterior. Para Android 8.0 Oreo, você deve usar o Xamarin Android Emulator Manager ou a ferramenta de linha de comando avdmanager para criar dispositivos virtuais para Android Oreo.

Para usar o Gerenciador de dispositivos Android para criar e gerenciar dispositivos virtuais, consulte Gerenciando dispositivos virtuais com o Gerenciador de dispositivos Android. Para criar dispositivos virtuais sem o Gerenciador de dispositivos Android, siga as etapas na próxima seção.

Criando dispositivos virtuais usando avdmanager

Para usar avdmanager para criar um novo dispositivo virtual, execute estas etapas:

  1. Abra uma janela do Prompt de Comando e defina JAVA_HOME o local do SDK Java no computador. Para uma instalação típica do Xamarin, você pode usar o seguinte comando:

    setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_131"
    
  2. Adicione o local da pasta SDK bin do Android ao seu PATHarquivo . Para uma instalação típica do Xamarin, você pode usar o seguinte comando:

    setx PATH "%PATH%;C:\Program Files (x86)\Android\android-sdk\tools\bin"
    
  3. Feche a janela do prompt de comando e abra uma nova janela do prompt de comando. Crie um novo dispositivo virtual usando o comando avdmanager . Por exemplo, para criar um AVD chamado AVD-Oreo-8.0 usando a imagem do sistema x86 para API nível 26, use o seguinte comando:

    avdmanager create avd -n AVD-Oreo-8.0 -k "system-images;android-26;google_apis;x86"
    
  4. Quando você for solicitado com Você deseja criar um perfil de hardware personalizado [não], você pode inserir não e aceitar o perfil de hardware padrão. Se você disser que sim, o avdmanager solicitará uma lista de perguntas para personalizar o perfil de hardware.

Depois de criar seu dispositivo virtual, ele será incluído no menu suspenso do dispositivo:

Novo AVD adicionado ao menu suspenso do dispositivo

Para obter mais informações sobre como configurar um emulador Android para teste e depuração, consulte Depurando no emulador Android.

Se você estiver usando um dispositivo físico, como um Nexus ou um Pixel, poderá atualizar seu dispositivo por meio de atualizações automáticas over the air (OTA) ou baixar uma imagem do sistema e piscar o dispositivo diretamente. Para obter mais informações sobre como atualizar manualmente seu dispositivo para o Android Oreo, consulte Imagens de fábrica para dispositivos Nexus e Pixel.

Novos recursos

O Android Oreo apresenta uma variedade de novos recursos e capacidades, como canais de notificação, selos de notificação, fontes personalizadas em XML, fontes para download, preenchimento automático e picture-in-picture. As seções a seguir destacam esses recursos e fornecem links para ajudá-lo a começar a usá-los em seu aplicativo.

Canais de notificação

Os Canais de Notificação são categorias definidas pelo aplicativo para notificações. Você pode criar um canal de notificação para cada tipo de notificação que precisa enviar e pode criar canais de notificação para refletir as escolhas feitas pelos usuários do seu aplicativo. O novo recurso de canais de notificação possibilita que você dê aos usuários um controle refinado sobre diferentes tipos de notificações. Por exemplo, se você estiver implementando um aplicativo de mensagens, poderá criar canais de notificação separados para cada grupo de conversa criado por um usuário.

Canais de Notificação explica como criar um canal de notificação e usá-lo para postar notificações locais.

Crachás de notificação

Os selos de notificação são pequenos pontos que aparecem sobre os ícones do aplicativo, conforme mostrado nesta captura de tela:

Exemplo de selos de notificação em ícones de aplicativos

Esses pontos indicam que há novas notificações para um ou mais canais de notificação no aplicativo associados a esse ícone de aplicativo – são notificações que o usuário ainda não descartou ou agiu. Os usuários podem pressionar por muito tempo um ícone para ver as notificações associadas a um selo de notificação, descartando ou agindo sobre as notificações do menu de longa duração que aparece.

Para obter mais informações sobre selos de notificação, consulte o tópico Selos de notificação do desenvolvedor Android.

Fontes personalizadas em XML

O Android Oreo introduz fontes em XML, o que possibilita que você incorpore fontes personalizadas como recursos. Os formatos de fonte OpenType (.otf) e TrueType (.ttf) são suportados. Para adicionar fontes como recursos, faça o seguinte:

  1. Crie uma pasta Recursos/fonte .

  2. Copie seus arquivos de fonte (por exemplo, arquivos .ttf e .otf ) para Recursos/fonte.

  3. Se necessário, renomeie cada arquivo de fonte para que ele siga as convenções de nomenclatura de arquivo do Android (ou seja, use apenas minúsculas a-z, 0-9 e sublinhados em nomes de arquivo). Por exemplo, o arquivo Pacifico-Regular.ttf de fonte pode ser renomeado para algo como pacifico.ttf.

  4. Aplique a fonte personalizada usando o novo android:fontFamily atributo em seu XML de layout. Por exemplo, a declaração a seguir TextView usa o recurso de fonte pacifico.ttf adicionado:

    <TextView
      android:text="Example Text in Pacifico Regular"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:fontFamily="@font/pacifico" />
    

Você também pode criar um arquivo XML da família de fontes que descreve várias fontes, bem como detalhes de estilo e peso. Para obter mais informações, consulte o tópico Android Developer Fonts in XML .

Fontes para download

A partir do Android Oreo, os aplicativos podem solicitar fontes de um provedor em vez de agrupá-las no APK. As fontes são baixadas da rede somente conforme necessário. Este recurso reduz o tamanho do APK, conservando a memória do telefone e o uso de dados celulares. Você também pode usar esse recurso nas versões 14 e superiores da API do Android instalando o pacote Android Support Library 26.

Quando seu aplicativo precisa de uma fonte, você cria um FontsRequest objeto (especificando a fonte a ser baixada) e a passa para um FontsContract método para baixar a fonte. As etapas a seguir descrevem o processo de download da fonte com mais detalhes:

  1. Instanciar um objeto FontRequest .

  2. Subclasse e instanciar FontsContract.FontRequestCallback.

  3. Implemente o método FontRequestCallback.OnTypeFaceRetrieved , que é usado para manipular a conclusão da solicitação de fonte.

  4. Implemente o método FontRequestCallback.OnTypeFaceRequestFailed , que é usado para informar seu aplicativo sobre quaisquer erros que ocorram durante o processo de solicitação de fonte.

  5. Chame o método FontsContract.RequestFonts para recuperar a fonte do provedor de fonte.

Quando você chama o RequestFonts método, ele primeiro verifica se a fonte está armazenada em cache localmente (de uma chamada anterior para RequestFont). Se ele não estiver armazenado em cache, ele chamará o provedor de fontes, recuperará a fonte de forma assíncrona e passará os resultados de volta para seu aplicativo invocando seu OnTypeFaceRetrieved método.

Para obter mais informações sobre como baixar fontes, consulte o tópico Fontes para download do desenvolvedor Android.

Preenchimento automático

A nova estrutura de preenchimento automático no Android Oreo torna mais fácil para os usuários lidar com tarefas repetitivas, como login, criação de conta e transações de cartão de crédito. Os usuários gastam menos tempo redigitando informações (o que pode levar a erros de entrada). Para que seu aplicativo possa funcionar com a Estrutura de Preenchimento Automático, um serviço de preenchimento automático deve ser habilitado nas configurações do sistema (os usuários podem habilitar ou desabilitar o preenchimento automático).

Para obter mais informações sobre o novo recurso de preenchimento automático e como otimizar seu aplicativo para preenchimento automático, consulte o tópico Android Developer Autofill Framework .

Imagem em Imagem (PIP)

O Android Oreo possibilita que uma Atividade seja iniciada no modo picture-in-picture (PIP), sobrepondo a tela de outra Atividade. Este recurso destina-se à reprodução de vídeo.

Para especificar que a atividade do seu aplicativo pode usar o modo PIP, defina o seguinte sinalizador como true no manifesto do Android:

android:supportsPictureInPicture

Para especificar como sua atividade deve se comportar quando estiver no modo PIP, use o novo objeto PictureInPictureParams . PictureInPictureParams representa um conjunto de parâmetros que você usa para inicializar e atualizar uma Atividade no modo PIP (por exemplo, a proporção preferencial da Atividade). Os seguintes novos métodos PIP foram adicionados ao Activity Android Oreo:

  • EnterPictureInPictureMode – coloca a Atividade no modo PIP. A Atividade é colocada no canto da tela e o restante da tela é preenchido com a Atividade anterior que estava na tela.

  • SetPictureInPictureParams – Atualiza as definições de configuração PIP da Atividade (por exemplo, uma alteração na proporção).

Outros recursos

O Android Oreo contém muitos outros novos recursos, como a biblioteca de suporte Emoji, API de localização, limites de plano de fundo, cores de ampla gama para aplicativos, novos codecs de áudio, aprimoramentos do WebView, suporte aprimorado à navegação pelo teclado e uma nova API AAudio (áudio profissional) para áudio de baixo latência de alto desempenho, Para obter mais informações sobre esses recursos, consulte o tópico Recursos e APIs do Android Developer Android Oreo.

Alterações de comportamento

O Android Oreo inclui uma variedade de mudanças de comportamento do sistema e da API que podem ter um impacto na funcionalidade dos aplicativos existentes. Essas alterações são descritas a seguir.

Limites de execução em segundo plano

Para melhorar a experiência do usuário, o Android Oreo impõe limitações sobre o que os aplicativos podem fazer durante a execução em segundo plano. Por exemplo, se o usuário estiver assistindo a um vídeo ou jogando um jogo, um aplicativo em execução em segundo plano pode prejudicar o desempenho de um aplicativo com uso intensivo de vídeo em execução em primeiro plano. Como resultado, o Android Oreo coloca as seguintes restrições em aplicativos que não estão interagindo diretamente com o usuário:

  1. Limitações de serviço em segundo plano – Quando um aplicativo está sendo executado em segundo plano, ele tem uma janela de vários minutos na qual ainda é permitido criar e usar serviços. No final dessa janela, o Android interrompe o serviço em segundo plano do aplicativo e o trata como ocioso.

  2. Limitações de transmissão – O Android 7.0 (API 25) colocou limitações nas transmissões que um aplicativo registra para receber. O Android Oreo torna essas limitações mais rigorosas. Por exemplo, os aplicativos Android Oreo não podem mais registrar receptores de transmissão para transmissões implícitas em seus manifestos.

Para obter mais informações sobre os novos limites de execução em segundo plano, consulte o tópico Limites de execução em segundo plano do desenvolvedor Android.

Alterações de quebra

Os aplicativos destinados ao Android Oreo ou superior devem modificar seus aplicativos para oferecer suporte às seguintes alterações, quando aplicável:

  • O Android Oreo deprecia a capacidade de definir a prioridade de notificações individuais. Em vez disso, você define um nível de importância recomendado ao criar um canal de notificação. O nível de importância atribuído a um canal de notificação aplica-se a todas as mensagens de notificação que você postar nele.

  • Para aplicativos voltados para o Android Oreo, PendingIntent.GetService() não funciona devido aos novos limites colocados em serviços iniciados em segundo plano. Se você estiver visando o Android Oreo, você deve usar PendingIntent.GetBroadcast em vez disso.

Vídeo

Desenvolvimento Android 8.0 Oreo com C#

Resumo

Este artigo apresentou o Android Oreo e explicou como instalar e configurar as ferramentas e pacotes mais recentes para o desenvolvimento do Xamarin.Android no Android Oreo. Ele forneceu uma visão geral dos principais recursos disponíveis no Android Oreo, com links para exemplos de código-fonte para vários novos recursos. Ele incluiu links para documentação da API e tópicos do Android Developer para ajudá-lo a começar a criar aplicativos para o Android Oreo. Ele também destacou as mudanças de comportamento mais importantes do Android Oreo que podem afetar os aplicativos existentes.