Nougat Destaques
Como começar a usar o Xamarin.Android para desenvolver aplicativos para Android Nougat.
Este artigo fornece um esboço dos recursos introduzidos no Android Nougat, explica como preparar o Xamarin.Android para o desenvolvimento do Android Nougat e fornece links para aplicativos de exemplo que ilustram como usar os recursos do Android Nougat em aplicativos Xamarin.Android.
Visão geral
Android Nougat é o sucessor do Google para Android 6.0 Marshmallow. Xamarin.Android fornece suporte para Android 7.x Bindings no Xamarin Android 7.0 e posterior. O Android Nougat adiciona muitas novas APIs para os recursos do Nougat descritos abaixo; essas APIs estão disponíveis para aplicativos Xamarin.Android quando você usa o Xamarin.Android 7.0.
Para obter mais informações sobre APIs do Android 7.x, consulte Referência da API do Android. Para obter uma lista de problemas conhecidos do Xamarin.Android 7.0, consulte as notas de versão.
Android Nougat fornece muitos novos recursos de interesse para desenvolvedores Xamarin.Android. Esses recursos incluem:
Suporte a várias janelas – Esse aprimoramento possibilita que os usuários abram dois aplicativos na tela ao mesmo tempo.
Aprimoramentos de notificação – O sistema de notificações redesenhado no Android Nougat inclui um recurso de resposta direta que permite que os usuários respondam rapidamente a mensagens de texto diretamente da interface do usuário de notificação. Além disso, se seu aplicativo criar notificações para mensagens recebidas, o novo recurso de notificações agrupadas poderá agrupar notificações como um único grupo quando mais de uma mensagem for recebida.
Economia de dados – Esse recurso é um novo serviço do sistema que ajuda a reduzir o uso de dados celulares por aplicativos, pois dá aos usuários controle sobre como os aplicativos usam os dados celulares.
Além disso, o Android Nougat traz muitos outros aprimoramentos de interesse para os desenvolvedores de aplicativos, como um novo recurso de configuração de segurança de rede, Doze on the Go, atestado de chave, novas APIs de Configurações Rápidas, suporte a várias localidades, APIs ICU4J, aprimoramentos do WebView, acesso a recursos da linguagem Java 8, acesso a diretórios com escopo, uma API de ponteiro personalizada, suporte a VR de plataforma, arquivos virtuais e otimizações de processamento em segundo plano.
Este artigo explica como começar a criar aplicativos com o Android Nougat para experimentar os novos recursos e planejar a migração ou o trabalho de recursos para atingir a nova plataforma Android Nougat.
Requisitos
O seguinte é necessário para usar os novos recursos do Android Nougat em aplicativos baseados no Xamarin:
Visual Studio ou Visual Studio para Mac – Se você estiver usando o Visual Studio, a versão 4.2.0.628 ou posterior do Visual Studio Tools for Xamarin é necessária. Se você estiver usando o Visual Studio para Mac, versão 6.1.0 ou posterior do Visual Studio para Mac é necessária.
Xamarin.Android – Xamarin.Android 7.0 ou posterior deve ser instalado e configurado com o Visual Studio ou Visual Studio para Mac.
Android SDK - Android SDK 7.0 (API 24) ou posterior deve ser instalado através do Android SDK Manager.
Java Developer Kit – O desenvolvimento do Xamarin Android 7.0 requer JDK 8 ou posterior se você estiver desenvolvendo para API nível 24 ou superior (o JDK 8 também suporta níveis de API anteriores a 24). A versão de 64 bits do JDK 8 é necessária se você estiver usando controles personalizados ou o Visualizador de Formulários.
Importante
O Xamarin.Android não é compatível com o JDK 9.
Observe que os aplicativos devem ser recriados com o Xamarin C6SR4 ou posterior para funcionar de forma confiável com o Android Nougat. Como o Android Nougat pode se vincular apenas a bibliotecas nativas fornecidas pelo NDK, os aplicativos existentes que usam bibliotecas como Mono.Data.Sqlite.dll podem falhar ao serem executados no Android Nougat se não forem reconstruídos corretamente.
Introdução
Para começar a usar o Android Nougat com Xamarin.Android, você deve baixar e instalar as ferramentas e pacotes SDK mais recentes antes de criar um projeto Android Nougat:
Instale as atualizações mais recentes do Xamarin.Android a partir do Xamarin.
Instale os pacotes e ferramentas do Android 7.0 (API 24) ou posterior.
Crie um novo projeto Xamarin.Android que tem como alvo o Android Nougat.
Configure um emulador ou dispositivo para o Android Nougat.
Cada uma dessas etapas é explicada nas seguintes seções:
Instalar atualizações do Xamarin
Para adicionar suporte ao Xamarin para Android Nougat, altere o canal de atualizações no Visual Studio ou Visual Studio para Mac para o canal estável e aplique as atualizações mais recentes. Se você também precisar de recursos que estão atualmente disponíveis apenas no canal Alpha ou Beta, você pode alternar para o canal Alpha ou Beta (os canais Alpha e Beta também fornecem suporte para Android 7.x). Para obter informações sobre como alterar o canal de atualizações (versões), consulte Alterando o canal de atualizações.
Instalar o SDK do Android
Para criar um projeto com o Xamarin Android 7.0, você deve primeiro usar o Android SDK Manager para instalar o SDK Platform Android N (API 24) ou posterior. Você também deve instalar as ferramentas mais recentes do SDK do Android:
Inicie o Android SDK Manager (no Visual Studio para Mac, use Ferramentas > Abra o Android SDK Manager...; no Visual Studio, use Ferramentas > Android > Android SDK Manager).
Instale o Android 7.0 (API 24) ou posterior:
Instale as ferramentas mais recentes do SDK do Android:
Você deve instalar as ferramentas do SDK do Android revisão 25.2.2 ou posterior, as ferramentas da plataforma do SDK do Android 24.0.3 ou posterior e as ferramentas de compilação do SDK do Android 24.0.2 ou posterior.
Verifique se o local do Java Development Kit está configurado para o JDK 1.8:
Para exibir essa configuração no Visual Studio, clique em Opções de > Ferramentas > Configurações do Xamarin > Android. No Visual Studio para Mac, clique em Preferências > , Projetos > , SDK, Locais > , Android.
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 7.0 ou posterior. Por exemplo, para direcionar seu projeto para o Android 7.0, você deve configurar o nível de API do Android de destino do seu projeto para o Android 7.0 (API 24 - Nougat). É recomendável definir o nível da estrutura de destino para a API 24 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.
Observação
Atualmente, você deve definir a versão mínima do Android para Android 7.0 (API 24 - Nougat) para implantar seu aplicativo em dispositivos ou emuladores Android Nougat.
Configurar um emulador ou dispositivo
Se você estiver usando um emulador, inicie o Android AVD Manager e crie um novo dispositivo usando as seguintes configurações:
- Dispositivo: Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 ou Pixel C.
- Destino: Android 7.0 - API Nível 24
- ABI: x86 ou x86_64
Por exemplo, este dispositivo virtual está configurado para emular um Nexus 6:
Se você estiver usando um dispositivo físico, como um Nexus 5X, 6 ou 9, 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 Nougat, consulte Imagens OTA para dispositivos Nexus.
Observe que os dispositivos Nexus 5 não são suportados pelo Android Nougat.
Novos recursos
O Android Nougat apresenta uma variedade de novos recursos e capacidades, como suporte a várias janelas, aprimoramentos de notificações e economia de dados. As seções a seguir destacam esses recursos e fornecem links para ajudá-lo a começar a usá-los em seu aplicativo.
Modo Multi-Janela
O modo multi-janela possibilita que os usuários abram dois aplicativos ao mesmo tempo com suporte multitarefa completo. Esses aplicativos podem ser executados lado a lado (paisagem) ou um acima do outro (retrato) no modo de tela dividida. Os usuários podem arrastar um divisor entre os aplicativos para redimensioná-los e podem recortar e colar o conteúdo entre os aplicativos. Quando dois aplicativos são apresentados no modo de várias janelas, a atividade selecionada continua a ser executada enquanto a atividade não selecionada é pausada, mas ainda visível. O modo de várias janelas não modifica o ciclo de vida da atividade do Android.
Você pode configurar como as atividades do seu aplicativo Xamarin.Android oferecem suporte ao modo de várias janelas. Por exemplo, você pode configurar atributos que definem o tamanho mínimo e a altura e largura padrão do seu aplicativo no modo de várias janelas. Você pode usar a nova Activity.IsInMultiWindowMode
propriedade para determinar se sua atividade está no modo de várias janelas. Por exemplo:
if (!IsInMultiWindowMode) {
multiDisabledMessage.Visibility = ViewStates.Visible;
} else {
multiDisabledMessage.Visibility = ViewStates.Gone;
}
Para obter mais informações sobre o modo de várias janelas, consulte o Suporte a várias janelas.
Notificações aprimoradas
Android Nougat introduz um sistema de notificação redesenhado. Ele possui um novo recurso de Resposta Direta que possibilita que os usuários respondam rapidamente às notificações de mensagens de texto recebidas diretamente na interface do usuário de notificação. A partir do Android 7.0, as mensagens de notificação podem ser agrupadas como um único grupo quando mais de uma mensagem é recebida. Além disso, os desenvolvedores podem personalizar exibições de notificação, aproveitar as decorações do sistema em notificações e aproveitar os novos modelos de notificação ao gerar notificações.
Resposta Direta
Quando um usuário recebe uma notificação para uma mensagem recebida, o Android Nougat torna possível responder à mensagem dentro da notificação (em vez de abrir o aplicativo de mensagens para enviar uma resposta). Esse recurso de resposta embutida possibilita que os usuários respondam rapidamente a um SMS ou mensagem de texto diretamente na interface de notificação:
Para oferecer suporte a esse recurso em seu aplicativo, você deve adicionar ações de resposta embutidas ao seu aplicativo por meio de um objeto RemoteInput para que os usuários possam responder por texto diretamente da interface do usuário de notificação.
Por exemplo, o código a seguir cria um RemoteInput
para receber entrada de texto, cria uma intenção pendente para a ação de resposta e cria uma ação habilitada para entrada remota:
// Build a RemoteInput for receiving text input:
var remoteInput = new Android.Support.V4.App.RemoteInput.Builder (EXTRA_REMOTE_REPLY)
.SetLabel (GetString (Resource.String.reply))
.Build ();
// Build a Pending Intent for the reply action to trigger:
PendingIntent replyIntent = PendingIntent.GetBroadcast (ApplicationContext,
conversation.ConversationId,
GetMessageReplyIntent (conversation.ConversationId),
PendingIntentFlags.UpdateCurrent);
// Build an Android 7.0 compatible Remote Input enabled action:
NotificationCompat.Action actionReplyByRemoteInput = new NotificationCompat.Action.Builder (
Resource.Drawable.notification_icon,
GetString (Resource.String.reply),
replyIntent).AddRemoteInput (remoteInput).Build ();
Esta ação é adicionada à notificação:
// Create the notification:
NotificationCompat.Builder builder = new NotificationCompat.Builder (ApplicationContext)
.SetSmallIcon (Resource.Drawable.notification_icon)
...
.AddAction (actionReplyByRemoteInput);
Para obter mais informações sobre como adicionar ações de resposta embutidas ao seu aplicativo para Android 7.0 ou posterior, consulte o tópico Respondendo a notificações do Android.
Notificações agrupadas
O Android Nougat pode agrupar mensagens de notificação (por exemplo, por tópico da mensagem) e exibir o grupo em vez de cada mensagem separada. Esse recurso de notificações agrupadas possibilita que os usuários descartem ou arquivem um grupo de notificações em uma única ação. O usuário pode deslizar para baixo para expandir o pacote de notificações para exibir cada notificação em detalhes:
Para oferecer suporte a notificações agrupadas, seu aplicativo pode usar o método Builder.SetGroup para agrupar notificações semelhantes. Para obter mais informações sobre grupos de notificações agrupadas no Android N, consulte o tópico Notificações de agregação do Android.
Modos de exibição personalizados
O Android Nougat possibilita que você crie visualizações de notificação personalizadas com cabeçalhos de notificação do sistema, ações e layouts expansíveis. Para obter mais informações sobre exibições de notificação personalizadas no Android Nougat, consulte o tópico Aprimoramentos de notificação do Android.
Economia de dados
A partir do Android Nougat, os usuários podem ativar uma nova configuração de Economia de Dados que bloqueia o uso de dados em segundo plano. Essa configuração também sinaliza seu aplicativo para usar menos dados em primeiro plano sempre que possível. O ConnectivityManager foi estendido no Android Nougat para que seu aplicativo possa verificar se o usuário habilitou a Economia de Dados para que seu aplicativo possa fazer um esforço para limitar seu uso de dados quando a Economia de Dados estiver ativada.
Para obter mais informações sobre o novo recurso de economia de dados no Android Nougat, consulte o tópico Android Optimizing Network Data Usage .
Atalhos do aplicativo
O Android 7.1 introduziu um recurso de atalhos de aplicativo que possibilita que os usuários iniciem rapidamente tarefas comuns ou recomendadas com seu aplicativo. Para ativar o menu de atalhos, o usuário pressiona por muito tempo o ícone do aplicativo por um segundo ou mais – o menu aparece com uma vibração rápida. Liberar a imprensa faz com que o menu permaneça:
Esse recurso está disponível apenas no nível de API 25 ou superior. Para obter mais informações sobre o novo recurso Atalhos de aplicativo no Android 7.1, consulte o tópico Atalhos de aplicativo Android.
Resumo
Este artigo apresentou o Android Nougat e explicou como instalar e configurar as ferramentas e pacotes mais recentes para o desenvolvimento do Xamarin.Android no Android Nougat. Ele também forneceu uma visão geral dos principais recursos disponíveis no Android Nougat, com links para exemplos de código-fonte para ajudá-lo a começar a criar aplicativos para o Android Nougat.