Este projeto do Android acompanha as transições contínuas de elementos compartilhados: RecyclerView para ViewPager. O código aqui apresenta a implementação para uma transição específica entre fragmentos do Android. Este artigo demonstra como implementar uma transição de uma imagem em um <code>RecyclerView</code> para uma imagem em um <code>ViewPager</code> e vice-versa, usando "elementos compartilhados" para determinar quais visualizações participam da transição e de que forma. Ele também explica como fazer uma transição de volta à grade de um item que antes estava fora da tela, o que é complicado. <strong>Este produto não é oficialmente compatível com o Google.</strong>
Esta demonstração implementa um visor de câmera de alta dinâmica em tempo real, alternando o tempo de exposição do sensor entre dois valores de exposição em quadros pares e ímpares e, em seguida, compondo juntos os dois quadros mais recentes sempre que um novo quadro é capturado.
Este exemplo demonstra como transferir arquivos grandes pelo Android Beam. Após o handshake inicial por NFC, a transferência de arquivos ocorre em um canal de comunicação secundário de alta velocidade, como Bluetooth ou Wi-Fi Direct. Este recurso requer Android 4.1 (Jelly Bean) ou versão posterior. Ao contrário do envio tradicional, seu app não receberá um intent no dispositivo de recebimento. Em vez disso, o sistema salvará o arquivo em disco e exibirá uma notificação de que o usuário pode optar por abrir o arquivo usando uma intent ACTION_VIEW padrão.
Amostra de como anunciar pequenos volumes de dados usando a API Bluetooth Low Energy. Também demonstra como verificar esses anúncios (é necessário ter dois dispositivos para ver a operação completa).
Amostra de como usar o Perfil de Atributo Genérico LE Bluetooth (GATT, na sigla em inglês) para transmitir dados arbitrários entre dispositivos.
Este exemplo demonstra o uso do recurso "Estrutura de preenchimento automático". Ele Inclui implementações de atividades do cliente com visualizações que devem ser preenchidas automaticamente e um serviço que pode fornecer dados de preenchimento automático para atividades do cliente.
Esta amostra ilustra como escrever um app que aceita conteúdo avançado (como imagens) enviado de um teclado usando a API Commit Content.
Esta amostra ilustra como escrever um teclado que envia conteúdo avançado (como imagens) para campos de texto usando a API Commit Content.
Este exemplo demonstra o uso básico do modo picture-in-picture para dispositivos portáteis. O exemplo reproduz um vídeo, que continua sendo reproduzido quando o app é ativado no modo picture-in-picture. Na tela picture-in-picture, o app mostra uma ação necessária para pausar ou retomar o vídeo.
Este exemplo demonstra o uso básico do modo picture-in-picture para dispositivos portáteis. O exemplo reproduz um vídeo, que continua sendo reproduzido quando o app é ativado no modo picture-in-picture. Na tela picture-in-picture, o app mostra uma ação necessária para pausar ou retomar o vídeo.
Esta amostra ilustra permissões de tempo de execução disponíveis no Android M e versões posteriores. Demonstra também como usar a nova API de permissões de tempo de execução para verificar e solicitar permissões pela biblioteca de suporte.
Esta amostra ilustra permissões de tempo de execução disponíveis no Android M e versões posteriores. Demonstra também como usar a nova API de permissões de tempo de execução para verificar e solicitar permissões pela biblioteca de suporte.
Amostra que demonstra como armazenar dados em um armazenamento com proteção para dispositivo que está sempre disponível enquanto o dispositivo é inicializado antes e depois de credenciais do usuário (PIN/padrão/senha) serem inseridas.
Este exemplo demonstra como usar a API Launcher Shortcuts, apresentada no Android 7.1 (API 25). Esta API permite que um aplicativo defina um conjunto de intents que são exibidos quando um usuário toca no ícone da tela de início do app e o mantém pressionado. Explicamos como registrar os links estaticamente em XML e dinamicamente no tempo de execução.
Amostra do uso básico da nova API Document Centric Apps. Ela permite criar novos documentos no menu de visão geral do sistema e usa reinicializações para manter o estado.
Esta amostra ilustra como usar o recurso "Fontes para download" introduzido no Android O. O recurso permite que os apps solicitem uma determinada fonte de um fornecedor em vez de empacotá-la ou fazer o download dela por conta própria. Isso significa que não é necessário empacotar a fonte como um ativo.
Esta amostra ilustra como usar o recurso "Fontes para download" introduzido no Android O. O recurso permite que os apps solicitem uma determinada fonte de um fornecedor em vez de empacotá-la ou fazer o download dela por conta própria. Isso significa que não é necessário empacotar a fonte como um ativo.
Este exemplo demonstra o uso da biblioteca de suporte EmojiCompat. Você pode usar essa biblioteca para evitar que o app mostre caracteres de emojis ausentes (□) usando fontes de emoji empacotadas ou disponíveis para download. Esta amostra apresenta os dois usos.
Este exemplo demonstra o uso da biblioteca de suporte EmojiCompat. Você pode usar essa biblioteca para evitar que o app mostre caracteres de emojis ausentes (□) usando fontes de emoji empacotadas ou disponíveis para download. Esta amostra apresenta os dois usos.
O exemplo demonstra as práticas recomendadas para usar notificações NotificationStyle (Inbox, BigPicture, BigText e Mensagens) para apps para dispositivos móveis e apps nativos/locais do Wear. Ele também abrange as notificações no Wear 1.+ e Wear 2.0.
Esta amostra ilustra como usar o CardView lançado na biblioteca de suporte no Android 5.0.
Esta amostra ilustra como usar o CardView lançado na biblioteca de suporte no Android 5.0.
Exemplo que demonstra o uso do RecyclerView para elementos de layout com um LinearLayoutManager e com um GridLayoutManager. Ele também demonstra como lidar com eventos de toque em elementos.
Exemplo que demonstra o uso do RecyclerView para elementos de layout com um LinearLayoutManager e com um GridLayoutManager. Ele também demonstra como lidar com eventos de toque em elementos.
Uma amostra de como você pode processar dados remotos que exigem permissões em um dispositivo wearable e em um dispositivo móvel.
Uma amostra simples de mostradores de relógio e as complicações do Wear 2.0.
Uma coleção de exemplos de início rápido que demonstram as APIs do Firebase no Android. Para saber mais, consulte https://firebase.google.com.
Uma coleção de exemplos de início rápido que demonstram as APIs do Firebase no Android. Para saber mais, consulte https://firebase.google.com.
Este exemplo mostra como usar transições de cena de uma atividade para outra no Lollipop. Ele usa uma combinação de changeImageTransform e changeBounds para fazer a transição de uma grade de imagens para uma atividade com uma imagem grande e um texto detalhado.
Um app básico que mostra como usar a estrutura de transição apresentada no KitKat. O app mostra caixas de opção para selecionar as diferentes cenas e usa várias maneiras de transitar entre elas.
Amostra de como implementar uma transição personalizada estendendo a classe de transições padrão.
Esta amostra ilustra o uso de interpoladores de animação e animações de caminho para o <code>Material Design</code>.
Coleção de demonstrações para movimentos no Material Design. O Material Design oferece vários exemplos de design de movimento. Esta amostra ilustra como implementá-los no Android. <li>Noções básicas sobre movimento</li> <li>Velocidade</li> <li>Coreografia</li> <li>Personalização</li> A página "Animações e transições" explica como usar várias APIs de animação no Android. Todos os códigos-fonte de demonstrações estão no pacote de demonstração. Layout > Dissolver <img src="screenshots/dissolve.gif" height="400" alt="dissolve" /> Layout > Esmaecer <img src="screenshots/fadethrough.gif" height="400" alt="fadevia" /> Layout > Transformação do FAB <img src="screenshots/fabtransformation.gif" height="400" alt="fab" /> Lista > Reordenar <img src="screenshots/reordering.gif" height="400" alt="reorder" /> List > Escalonar <img src="screenshots/stagger.gif" height="400" alt="stagger" /> Lista > Oscilação <img src="screenshots/oscillation.gif" height="400" alt="oscilação" /> Navegação > Elemento compartilhado <img src="screenshots/sharedelement.gif" height="400" alt="sharedelement" /> Navigation > Esmaecer <img src="screenshots/navigationfadevia.gif" height="400" alt="navfadethrough" />
Exemplo que demonstra um efeito de revelação circular. Ele abrange a criação de um ViewAnimationUtils, bem como a definição dos parâmetros da revelação circular, incluindo a posição inicial e o raio.
Este app de amostra ilustra como integrar o Google Analytics para Firebase em um app instantâneo.
Este aplicativo de amostra ilustra como usar a API Cookie. Contém armazenamento e recuperação de valores usando a API Android Framework e a API InstantApps Play Services. Uso Esta API está disponível tanto para o Instant App quanto para o app instalado. Ela permite migrar os dados gerados pelo usuário de um app instantâneo para um app instalado. O fluxo dessa API é o seguinte: <li>Verificar se o cookie se encaixa na permissão.</li> <li>Armazenar dados no app instantâneo.</li> <li>Recuperar dados do app instalado.</li> <p>Essa API está disponível para a API de nível 26 ou mais recentes pelo PackageManagerCompat.</p> Variantes de build Esta amostra tem duas variantes de build: <li><code>framework</code> -> Android 8.0 (API de nível 26) ou mais recente</li> <li><code>playServices</code> -> Qualquer nível de API</li> As duas variantes de build oferecem os mesmos recursos, mas uma delas usa a API Framework, enquanto a outra usa a API InstantApps Play Services. Como testar a API com esta amostra <li>Execute o aplicativo marcando "implantar como app instantâneo"; na configuração de execução</li> <li>Armazene alguns dados</li> <li>Execute o aplicativo desmarcando "implantar como app instantâneo" na configuração de execução.</li> <li>Recupere os dados armazenados anteriormente</li>
Este app de amostra ilustra como usar a [API Install](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantApps.html#showInstallPrompt(android.app.Activity,%20android.content.Intent,%20int,%20java.lang.String)). A API aciona o intent para instalar o app no dispositivo. A chamada também aceita o intent, que é acionado após a conclusão da instalação. Se um app quiser utilizar essa API, ele precisará de um app instalável na Google Play Store. Além disso, os applicationIds no módulo instantâneo e de app precisam corresponder entre si.
Este app de exemplo demonstra a criação de um app instalável e de um app instantâneo com o mesmo comportamento. A funcionalidade do app instantâneo é dividida em dois recursos, que podem ser abertos individualmente em um dispositivo.
Amostra de como criar um serviço iniciado ou vinculado no Instant Apps Android.
Este app de amostra ilustra como usar a API Storage. É relevante para dispositivos com versões do Android <strong>anteriores à API de nível 26</strong>. Em dispositivos com a API de nível 26 ou mais recentes, o framework do Android se encarrega da migração de dados do usuário do app instantâneo para o app instalado. Após a conclusão da instalação, o app instalado transfere os dados armazenados do app instantâneo usando essa API, proporcionando uma experiência perfeita para o usuário. Uso No app instalado, chame a [API Storage](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantAppsClient.html#getInstantAppData()). A API permite acessar os dados armazenados no app instantâneo. Para ver mais informações sobre o armazenamento de dados, consulte [a documentação](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantAppsClient.html#getInstantAppData()).
Esta é uma amostra de API de como implementar consultas observáveis em objetos Flowable.
Esta é uma amostra de API de como usar objetos Flowable no Kotlin.
Esta amostra ilustra os seguintes componentes de arquitetura: <li>Room</li> <li>ViewModels</li> <li>LiveData</li>
Este é um app de amostra que usa Componentes da arquitetura do Android com o Dagger 2. <strong>OBSERVAÇÃO</O</strong>. Este é um exemplo relativamente mais complexo e completo. Portanto, caso você não esteja familiarizado com os componentes de arquitetura, é altamente recomendável que você veja outros exemplos neste repositório antes.
Esta amostra apresenta os seguintes componentes de arquitetura: <li>LiveData</li> <li>ViewModels</li> <li>Data Binding</li> E os seguintes artefatos: <li>androidx.lifecycle.lifecycle-livedata-ktx</li> Este projeto mostra como integrá-los às corrotinas do Kotlin usando o builder <code>liveData</code>.
Recursos Esta amostra apresenta o comportamento de uma visualização de navegação inferior seguindo os princípios de navegação. <li>Destino inicial fixo</li> <li>O estado de navegação é representado por uma pilha de destinos</li> <li>O botão "Para cima" nunca causa a saída do app</li> <li>"Para cima" e "voltar" são idênticos dentro da tarefa do app</li> <li>Os links diretos e a navegação até um destino devem produzir a mesma pilha</li> Veja os testes de IU para saber mais sobre cenários específicos.
Esta amostra apresenta os seguintes componentes de arquitetura: <li>Paging</li> <li>Room</li> <li>ViewModels</li> <li>LiveData</a> li>
Amostra de como expor os dados armazenados na biblioteca de persistência de salas com o framework de provedor de conteúdo do Android.
Este é um aplicativo simples de processamento de imagens escrito em Kotlin que mostra como usar o WorkManager para trabalhar em segundo plano.
Jetpack Compose. O objetivo da amostra é apresentar os componentes do Material, os elementos de IU arrastáveis, as visualizações do Android no Compose e o processamento de estado da IU. Para testar este app de amostra, é necessário usar a versão Canary mais recente do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui.
O Jetnews é um app de amostra de leitura de notícias criado no Jetpack Compose. O objetivo da amostra é apresentar os recursos atuais da IU do Compose. Para testar este app de amostra, é necessário usar a versão Canary mais recente do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui.
O Jetcaster é um app de amostra de podcasts criado com o Jetpack Compose. O objetivo da amostra é apresentar temas dinâmicos com uma arquitetura completa. Para testar este app de amostra, é necessário usar a versão Canary mais recente do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui. Status: 🚧 Em andamento 🚧 O Jetcaster ainda está nos estágios iniciais de desenvolvimento e, por isso, apenas uma tela foi criada até agora. No entanto, a maior parte da arquitetura do app foi implementada, bem como a camada de dados e os estágios iniciais da criação de temas dinâmicos.
O Jetchat é um app de amostra de chats criado com o Jetpack Compose. Para testar esses apps de amostra, é necessário usar a versão mais recente do Canary do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui. Esta amostra apresenta: <li>Gerenciamento de estado de IU</li> <li>Integração com componentes de arquitetura: Navigation, Fragments, LiveData, ViewModel</li> <li>Processamento do botão "Voltar"</li> <li>Entrada de texto e gerenciamento de foco</li> <li>Vários tipos de animações e transições</li> <li>Estados salvos em mudanças de configurações</li> <li>Temas básicos do Material Design</li> <li>Testes de IU</li> <img src="screenshots/jetchat.gif" /> Status: 🚧 Em andamento O Jetchat ainda está em desenvolvimento e alguns recursos ainda não foram implementados
O Jetsnack é um app de amostra de pedidos de lanche criado com o Jetpack Compose. Para testar esses apps de amostra, é necessário usar a versão mais recente do Canary do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui. Esta amostra apresenta: <li>Como implementar um sistema de design personalizado</li> <li>Layout personalizado</li> <li>Animação</li> <img src="screenshots/jetsnack.gif" /> Status: 🚧 Em andamento🚧 O Jetsnack ainda está em desenvolvimento e algumas telas ainda não foram implementadas.
O Jetsurvey é um app de amostra de pesquisa criado com o Jetpack Compose. O objetivo da amostra é ilustrar a entrada de texto, a validação e os recursos de estado do Compose. Para testar esses apps de amostra, é necessário usar a versão mais recente do Canary do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui.
Esta amostra apresenta uma implementação do Owl, um estudo do Material Design. Para testar esses apps de amostra, é necessário usar a versão mais recente do Canary do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui. Esta amostra apresenta: <li>Temas do Material Design e tema claro/escuro</li> <li>Layout personalizado</li> <li>Animação</li>
Esta amostra apresenta uma implementação do Rally, um estudo do Material Design. Para testar esses apps de amostra, é necessário usar a versão mais recente do Canary do Android Studio 4.2. Você pode clonar esse repositório ou importar o projeto do Android Studio seguindo as etapas apresentadas aqui. Esta amostra apresenta: <li>Temas do Material Design</li> <li>Layouts customizados e elementos reutilizáveis</li> <li>Gráficos e tabelas</li> <li> Animações</li> <img src="screenshots/rally.gif" /> Status: 🚧 Em andamento Esta amostra ainda está em desenvolvimento e alguns recursos ainda não foram implementados.
Este exemplo mostra como implementar o bate-papo bidirecional por Bluetooth entre dois dispositivos Android usando todos os recursos fundamentais da Bluetooth API.
Este exemplo demonstra como se conectar à rede e buscar HTML bruto usando HttpsURLConnection. O AsyncTask é usado para realizar a busca em uma linha de execução em segundo plano.
Esta amostra ilustra as práticas recomendadas para usar as APIs WifiRTT no Android. Além disso, esse é um aplicativo útil para testar smartphones compatíveis com WiFi-RTT e pontos de acesso, bem como para validar que a distância estimada é próxima à distância real entre eles.
Esta amostra apresenta os seguintes recursos da biblioteca Data Binding: <li>Variáveis e expressões de layout</li> <li>Observabilidade por meio de campos observáveis, LiveData e classes observáveis</li> <li> >Adaptadores de vinculação, métodos de vinculação e conversores de vinculação</li> <li>Integração perfeita com ViewModels</li> Ela mostra erros comuns e as respectivas soluções em duas telas diferentes.
Esta amostra apresenta os seguintes recursos da biblioteca Data Binding com um app que mostra um timer de treino. <li>Vinculação de dados bidirecional</li> <li>Alternativas à vinculação de dados bidirecional</li> <li>Como vincular adaptadores com vários parâmetros</li> <li> Animações com adaptadores de vinculação</li> <li>Vinculação de conversores e conversores de inversão</li> <li>Vinculação de dados com ViewModels e Kotlin</li> <li>Sem chamadas de framework da IU em uma atividade</li> <li>Testes</li>
Este exemplo demonstra como definir restrições para outros apps como o proprietário de um perfil. Use a amostra AppRestrictionSchema para definir as restrições.
Um app básico que mostra como usar a API Android Device Administration para permitir que um administrador de dispositivo restrinja atividades de usuários. O app exporta uma política personalizada que ativa ou desativa um controle de IU. Os apps de administração de dispositivos podem impor um valor específico para essa política, conforme determinado pelos administradores da empresa.
Uma amostra do uso do recurso "Restrição de app" em dispositivos compatíveis com vários usuários
Este exemplo demonstra as funcionalidades básicas da API Managed Profile lançada no Android 5.0 Lollipop. Você pode configurar este app como proprietário de um perfil e usá-lo para ativar/desativar apps no perfil gerenciado recém-criado. Você também pode definir restrições para alguns apps, ativar/desativar o encaminhamento de intent entre perfis e excluir permanentemente todos os dados associados ao perfil.
Este exemplo demonstra como usar alguns recursos do proprietário do dispositivo. Como proprietário de um dispositivo, você pode definir configurações globais, como horário e fuso horário automáticos. É possível ainda determinar uma tela de início específica conforme o manipulador de intent preferencial.
Este exemplo demonstra como usar o NFC para provisionar um novo dispositivo com um proprietário de dispositivo, que é um tipo especializado de administrador que pode controlar a segurança e a configuração do dispositivo. Esta amostra não é um proprietário de dispositivo em si, mas sim um app de programação que envia uma mensagem NFC para um dispositivo de mesmo nível não provisionado e solicita que ele configure o app proprietário do dispositivo especificado.
Amostra de como carregar bitmaps grandes de forma eficaz para fora da linha de execução de IU principal armazenando bitmaps em cache (na memória e no disco), gerenciando a memória de bitmap e exibindo bitmaps em elementos da IU, como ViewPager e ListView/GridView.
Amostra de como aplicar filtros de tonalidade e de cor a drawables programaticamente e como recursos drawable em XML. A tonalidade é definida em um drawable de nove patches pelos parâmetros "tint" e "Mode". Uma lista de estados de cores é referenciada como a cor da tonalidade, que define cores para diferentes estados de uma visualização (por exemplo, desativado/ativado, enfocado, pressionado ou selecionado). Utilizando programação, a tonalidade é aplicada a um Drawable pelo método "setColorFilter", com uma referência a uma cor e um modo de mistura PorterDuff. É possível mudar o modo de cor e de mistura na IU para ver o efeito das diferentes opções.
Amostra de como usar as APIs do Media Effects que foram lançadas no Android 4.0.
Esta amostra ilustra como exibir documentos PDF na tela usando o PdfRenderer introduzido no Android 5.0 Lollipop.
Esta amostra ilustra como exibir documentos PDF na tela usando o PdfRenderer introduzido no Android 5.0 Lollipop.
App de amostra que apresenta como usar AccountTransferApi para transferir contas durante a configuração de um novo dispositivo.
Esta amostra ilustra como usar a API Credentials (SmartLock para senhas) e a API Google Sign-In no mesmo aplicativo. Para ver mais informações, acesse https://developers.google.com/identity/
Esta amostra ilustra o uso das APIs SMS Verification do Google Play Services para ter acesso a mensagens de texto com tags especiais (as tags associam a mensagem ao APK), sem precisar de permissão total de recuperação de SMS (SMS_READ).
Amostra do Android AutofillFramework (Kotlin) Esta amostra ilustra o uso da Estrutura de preenchimento automático. Ele Inclui implementações de atividades do cliente com visualizações que devem ser preenchidas automaticamente e um serviço que pode fornecer dados de preenchimento automático para atividades do cliente.
Este exemplo detecta gestos em uma visualização e os registra. Para usar esta amostra, tente arrastar ou tocar no texto.
Amostra do uso de propriedades MotionEvent para acompanhar toques individuais em vários eventos de toque.
Demonstra o uso da ActivityRecognitionApi para reconhecer a atividade atual de um usuário, como caminhar, dirigir ou estar parado. Introdução Demonstra o uso da ActivityRecognitionApi para reconhecer a atividade atual de um usuário, como caminhar, dirigir ou estar parado. Os usuários podem solicitar atualizações de atividade pressionando "Request Updates" e parar de receber atualizações usando o botão "Remove Updates". A amostra usa <code>IntentService</code> para processar alterações de atividade detectadas, que são enviadas usando a classe DetectedActivity para uma lista de tipos de DetectedActivity. Cada <code>DetectedActivity</code> é associado a um nível de confiança, que é um número inteiro entre 0 e 100. Para executar esta amostra, o <strong>local precisa estar ativado</strong>.
Demonstra o uso da API Location do Google Play Services para recuperar a última localização conhecida do dispositivo. Introdução Esta amostra ilustra uma maneira simples de conseguir a última localização conhecida do dispositivo, que geralmente é equivalente à localização atual do dispositivo. A precisão do local retornado tem como base as permissões de localização solicitadas e os sensores de local ativos no dispositivo. Para executar esta amostra, o <strong>local precisa estar ativado</strong>. Esta amostra usa FusedLocationProviderClient. Veja também a versão em Kotlin desta amostra.
Demonstra o uso da API Location do Google Play Services para recuperar a última localização conhecida do dispositivo. Introdução Esta amostra ilustra uma maneira simples de conseguir a última localização conhecida do dispositivo, que geralmente é equivalente à localização atual do dispositivo. A precisão do local retornado tem como base as permissões de localização solicitadas e os sensores de local ativos no dispositivo. Para executar esta amostra, o <strong>local precisa estar ativado</strong>. Esta amostra usa FusedLocationProviderClient.
Demonstra como criar e remover fronteiras geográficas virtuais usando a GeofencingApi. Monitora transições de fronteira geográfica virtual e cria notificações sempre que um dispositivo entra ou sai de uma. Introdução A fronteira geográfica virtual combina o conhecimento do local atual do usuário com o reconhecimento de recursos nas proximidades, definidos como a proximidade do usuário aos locais que podem ser interessantes para ele. Para marcar um local de interesse, especifique a latitude e longitude. Para ajustar a proximidade do local, adicione um raio. A latitude, a longitude e o raio definem uma fronteira geográfica virtual. É possível ter várias fronteiras geográficas virtuais ativas ao mesmo tempo. Os Serviços de localização tratam uma fronteira geográfica virtual como uma área, e não como um ponto próximo. Isso permite detectar quando o usuário entra ou sai da fronteira geográfica virtual. Para cada uma delas, é possível solicitar que os Serviços de localização enviem eventos de entrada, eventos de saída ou ambos. Também é possível limitar a duração de uma fronteira geográfica virtual especificando um tempo de expiração em milissegundos. Depois que a fronteira geográfica expira, os Serviços de localização a removem automaticamente. Para executar esta amostra, o <strong>local precisa estar ativado</strong>.
Demonstra como usar a API Geocode e a geocodificação inversa para exibir a localização de um dispositivo como um endereço. Introdução Esta amostra tem como base amostras BasicLocationSample e LocationUdplates incluídas neste repositório. Essas amostras só funcionam com valores de latitude e longitude. Embora a latitude e a longitude sejam usadas para calcular a distância ou exibir uma posição no mapa, em muitos casos o endereço da localização é mais útil. As APIs Location do framework do Android oferecem uma API Geocode, contendo um método [getFromLocation()](http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation(double, double, int)) que retorna um endereço estimado correspondente a uma determinada latitude e longitude. Esta amostra usa o método <code>getFromLocation()</code> para fazer pesquisas de endereço de localização, IntentService para buscar o endereço do local e ResultReceiver para processar os resultados enviados por IntentService. Para executar esta amostra, o <strong>local precisa estar ativado</strong>.
Demonstra como usar a API Geocode e a geocodificação inversa para exibir a localização de um dispositivo como um endereço. Introdução Esta amostra tem como base amostras BasicLocationSample e LocationUdplates incluídas neste repositório. Essas amostras só funcionam com valores de latitude e longitude. Embora a latitude e a longitude sejam usadas para calcular a distância ou exibir uma posição no mapa, em muitos casos o endereço da localização é mais útil. As APIs Location do framework do Android oferecem uma API Geocode, contendo um método [getFromLocation()]http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation(double, double, int)) que retorna um endereço estimado correspondente a uma determinada latitude e longitude. Esta amostra usa o método <code>getFromLocation()</code> para fazer pesquisas de endereço de localização, IntentService para buscar o endereço do local e ResultReceiver para processar os resultados enviados por IntentService. Para executar esta amostra, o <strong>local precisa estar ativado</strong>.
Demonstra como usar a API Fused Location Provider para receber atualizações sobre a localização de um dispositivo. A API Fused Location Provider faz parte das APIs Location do Google Play Services. Introdução Esta amostra tem como base a amostra BasicLocationSample incluída neste repositório e permite que o usuário solicite atualizações periódicas do local. Em resposta, a API atualiza o app periodicamente com a melhor localização disponível, com base nos provedores de localização ativos no momento, por exemplo, Wi-Fi e Sistema de Posicionamento Global (GPS). A precisão do local também é determinada pelas permissões de localização solicitadas (usamos ACCESS_FINE_LOCATION aqui) e as opções definidas na solicitação de localização. Esta amostra usa FusedLocationProviderClient. Para executar esta amostra, o <strong>local precisa estar ativado</strong>.
Amostra de como usar o MediaCoder para decodificar um vídeo, usar um TimeAnimator para sincronizar os comandos de renderização com a renderização do quadro de tela do sistema e, finalmente, renderizá-lo para um TextureView.
Esta é uma amostra de como usar a API MediaRouter para exibir o conteúdo em uma tela secundária. Use o item de ação "Media Route" em ActionBar para selecionar um dispositivo de saída. Se o dispositivo for compatível com o Display sem fio Miracast, pode ser necessário ativar a funcionalidade "Wireless Display" nas configurações do sistema. A simulação de tela secundária também pode ser ativada nas opções do desenvolvedor. Depois de conectar, use o botão "Change Color" para mudar a cor do plano de fundo da tela secundária.
Essa amostra usa a câmera e a filmadora como origem A/V para a API MediaRecorder. Um TextureView é usado como a visualização da câmera que limita o código às APIs de nível 14 ou mais recente. Ele pode ser facilmente substituído por um SurfaceView para ser executado em dispositivos mais antigos.
Demonstra como criar um provedor de roteamento de mídia personalizado.
Amostra de como usar a API MIDI para receber e processar sinais MIDI provenientes de um dispositivo conectado.
Amostra de como usar a API MIDI para receber e reproduzir mensagens MIDI provenientes de um dispositivo de entrada conectado (teclado MIDI).
Amostra de como usar a API Media Projection para capturar a tela do dispositivo em tempo real e exibi-la em um SurfaceView.
Esta amostra ilustra como implementar um app de mídia que permite a reprodução de vídeos a partir do armazenamento local (pasta de recursos no APK) ou fontes remotas via HTTP(S). 1. É compatível com playlists, para que vários vídeos possam ser agrupados para serem reproduzidos um após o outro e serem pulados. 2. É compatível com <code>MediaSession</code> para que os fones de ouvido Bluetooth externos possam controlar a mídia (reproduzir, pausar, pular para o próximo etc.) e ver qual mídia está sendo reproduzida no momento (por exemplo, a partir da unidade principal do Bluetooth de um carro). 3. É compatível com Audio Focus para que seja possível respeitar o sistema de seleção de áudio do Android e pausar a reprodução caso algo esteja tocando. 4. É compatível com picture-in-picture (PIP) para que a reprodução de vídeo do app possa continuar em uma janela minimizada enquanto o usuário está em outros apps. Para saber mais sobre <code>ExoPlayer</code>, <code>MediaSession</code>, AudioFocus e PIP, leia esta série de artigos no Medium que aborda os detalhes dessas APIs.
O exemplo demonstra como usar o OpenSL ES para criar um player e gravador no Android Fast Audio Path e conectá-los ao áudio de loopback. Na maioria dos dispositivos Android, há um caminho de áudio otimizado que é ajustado para fins de baixa latência. A amostra cria um player/gravador para trabalhar nesse caminho de áudio altamente otimizado (às vezes chamado de "caminho de áudio nativo", "caminho de baixa latência" ou "caminho de áudio rápido"). O app é validado de acordo com as seguintes configurações: * Android L AndroidOne * Android M Nexus 5, Nexus 9 Esta amostra usa o novo Android Studio compatível com CMake e mostra como usar a stl lib compartilhada com o Android Studio versão 2.2.0. Consulte CMakeLists.txt para ver mais detalhes. <strong><em>O OpenSL ES é a biblioteca Oboe.</em></strong>
O Bitmap Plasma é um exemplo do Android que usa o JNI para renderizar um efeito de plasma em um bitmap do Android com base no código C. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++.
O Endless Tunnel é um jogo de exemplo simples que mostra como: - usar a compatibilidade com o Android Studio C++ - implementar um jogo usando a cola de Android nativo; - implementar compatibilidade com joystick, incluindo navegação de DPAD robusta para telas não touchscreen. NÃO é o objetivo deste exemplo mostrar a melhor maneira de escrever a lógica do jogo, carregar recursos, etc. O jogo em si foi mantido intencionalmente rudimentar para manter o foco na integração do Android Studio C++. Por exemplo, ele contém texturas e geometria codificadas, o que funciona para pequenos jogos de demonstração como este, mas não se adapta bem a jogos reais. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++.
O gles3jni é uma amostra do Android C++ de como usar o OpenGL ES 3.0 do código nativo/JNI. O caminho de renderização do OpenGL ES 3.0 usa alguns novos recursos em comparação com o caminho do OpenGL ES 2.0: - Renderização instanciada e divisor de atributos de vértice para reduzir o número de chamadas de desenho e mudanças uniformes. - Objetos de matriz de vértices para reduzir o número de chamadas necessárias para configurar o estado do atributo de vértice em cada quadro. - Atribuição explícita de localizações de atributos, eliminando a necessidade de consultar atribuições. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++.
O Hello GL2 é uma amostra de Android C++ que desenha um triângulo usando a API GLES 2.0. Ele usa JNI para fazer a renderização em C ++ sobre um GLSurfaceView criado com base em uma atividade Java para Android regular. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++.
O Hello JNI é um exemplo de Android que usa o JNI para chamar o código C de uma atividade Java para Android. Esta amostra usa o novo codelab Hello-CMake
Esta amostra é um complemento do Hello JNI para demonstrar o retorno de chamada de código C para Java: - crie uma instância de classe java em código C - chame as funções de membro estático e não-estático da classe java Este exemplo usa o novo plug-in do Android Studio CMake compatível com C++.
O hello-libs é uma amostra de como gerenciar bibliotecas C/C++ de terceiros com o Android Studio.
O Hello Oboe é uma amostra do Android que usa a biblioteca Oboe para reproduzir áudio de forma nativa. O Oboe une o AAudio e o OpenSLES para ajudar os desenvolvedores a tocar e gravar áudios em contextos sensíveis ao desempenho em todas as versões do Android. O repositório do Oboe tem mais informações sobre como aproveitar ao máximo a API do Oboe, além de documentação e exemplos mais detalhados. Esta amostra usa o recurso Studio Prefab para fazer o download da biblioteca Oboe pré-compilada do Maven do Google. Você pode conferir as etapas do Prefab em gradle.properties - app/build.gradle - app/src/main/cpp/CMakeLists.txt Se você quiser criar o app com o código-fonte da biblioteca Oboe, consulte os exemplos no repositório do Oboe.
O Native Activity é um exemplo do Android que inicializa um contexto do GLES 2.0 e lê dados do acelerômetro com base em código C usando o Native Activity. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++.
Native Audio é uma amostra do Android que reproduz e grava sons com a API C++ OpenSLES usando JNI. O gravador / players criados não estão no caminho de áudio rápido. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++. <strong><em>O OpenSL ES é a biblioteca Oboe.</em></strong>
O Native Plasma é um exemplo do Android que renderiza um efeito de plasma em um Bitmap do código C usando a Native Activity. Esta amostra usa o novo plug-in do CMake do Android Studio compatível com C++.
San Angeles é uma portabilidade para Android de uma demonstração que usa o GLES C/API para renderizar uma cena policial. Veja o README original para saber mais detalhes sobre a porta GLES original. As demonstrações de amostra: - Divisão de APK ABI
O Sensor Graph é uma amostra do Android C++ que lê os valores atuais do acelerômetro e os desenha usando o OpenGL. Ele demonstra o uso da seguinte API C++ nativa: - Assets Esta amostra usa o novo plug-in do Android Studio CMake compatível com C++.
Teapots é uma coleção de amostras do Android C++ que usa uma renderização de Teapot para demonstrar os recursos da plataforma Android NDK: - classic-teapot: renderização de mesh do Classic Teapot usando a API GLES 2.0 e o NativeActivity. - more-teapots: renderização de várias instâncias do Classic Teapot com o GLES 3.0 Instance Rendering - coreographer-30fps: demonstra diversas técnicas de limitação de frame rate com base no nível da API, usando a API Choreographer e a extensão do tempo de apresentação do EGL Android. - texturized-teapot: renderização do Classic Teapot e texturas - image-decoder: o mesmo que texturized-teapot, mas a decodificação de textura é feita com a API ImageDecoder, introduzida no Android 11 (Android NDK r21b) Esta amostra usa o novo Plug-in do Android Studio para o CMake compatível com C++.
O Webp é uma amostra do Android que inclui um pequeno app para demonstrar o uso do webp na visualização de atividade nativa<br />: gire as três imagens de webp para decodificação e carregue-as no buffer na tela. A decodificação está em uma linha de execução própria Esta amostra usa o novo plug-in do Android Studio CMake.
Este exemplo demonstra o uso do RenderScript para executar manipulação básica de imagem. Especificamente, ele permite que os usuários ajustem dinamicamente a saturação de uma imagem usando um controle deslizante. Um kernel personalizado do RenderScript realiza o ajuste de saturação, executando o cálculo na GPU do dispositivo ou em outro hardware de computação conforme apropriado pelo sistema.
Exemplo de RenderScriptIntrinsic que demonstra como usar itens intrínsecos do RenderScript. Cria vários itens intrínsecos do RenderScript e mostra um resultado de filtragem com vários parâmetros. Também mostra como estender o RedioButton com StateListDrawable.
Uma amostra de como usar impressões digitais registradas para autenticar o usuário no app.
Amostra da biblioteca Androidx Biometrics
Um app de amostra que ilustra como registrar e autenticar com credenciais de chave pública usando a API FIDO2. A API FIDO2 é usada para dispositivos com o Android N (API de nível 24) ou versão mais recente.
Amostra que ilustra como usar a biblioteca Jetpack Security para criptografar e descriptografar arquivos com a implementação de um simples app de anotações. <img src="screenshots/notes-list.png" height="400" alt="Captura de tela mostrando uma lista de anotações. As anotações mostram "Anotação secreta" e "Lista de tarefas criptografadas". />
Amostra de como configurar os SensorEventListeners para detectores e contadores de etapa.
<img src="screenshots/icon-web.png" height="256" alt="App Icon" /> Esta amostra ilustra como exibir documentos PDF na tela usando o PdfRenderer introduzido no Android 5.0 Lollipop.
Um gerenciador de arquivos para prova de conceito usando o Android 5.0, API de nível 21.
Esta amostra ilustra como usar o ContentProvider com o suporte de paginação introduzido no Android O. O ContentProvider agora aceita outros argumentos para o deslocamento e o limite no método de consulta para permitir a paginação em vez de buscar todos os dados em uma única chamada do método de consulta.
Esta amostra ilustra como usar o ContentProvider com o suporte de paginação introduzido no Android O. O ContentProvider agora aceita outros argumentos para o deslocamento e o limite no método de consulta para permitir a paginação em vez de buscar todos os dados em uma única chamada do método de consulta.
<img src="screenshots/icon-web.png" height="256" alt="App Icon" /> Esta amostra ilustra como usar o MediaStore do Android para localizar e exibir as imagens do usuário em um RecyclerView.
Usando a intent OPEN_DOCUMENT, um app cliente pode acessar uma lista de provedores de documentos no dispositivo e escolher um arquivo em qualquer um deles.
Amostra de como implementar um provedor de documentos simples usando o framework de acesso ao armazenamento disponível no Android 4.4.
Um app de jardinagem que ilustra as práticas recomendadas de desenvolvimento Android com o Android Jetpack. O Android Sunflower está em desenvolvimento intenso. Algumas mudanças (como modificações de esquema de banco de dados) não são compatíveis com versões anteriores e podem causar falhas no app. Nesse caso, desinstale e reinstale o app.
<em>Se você não tem experiência com testes de unidade no Android, experimente esta amostra primeiro.</em> Este projeto usa o sistema de compilação do Gradle e a compatibilidade com o Plug-in do Android para Gradle para testes de unidade. Você pode aproveitar a integração de IDEs como o Android Studio ou executar os testes na linha de comando. Testes de unidade são executados em uma JVM local no computador de desenvolvimento. O Plug-in do Android para Gradle irá compilar o código-fonte do seu app e executá-lo usando a tarefa de teste gradle. Os testes são executados em uma versão modificada do android.jar, onde todos os modificadores finais foram removidos. Isso permite que você use bibliotecas conhecidas de simulação, como a Mockito. Para saber mais, consulte http://tools.android.com/tech-docs/unit-testing-support
<em>Se você não tem experiência com testes de unidade no Android, experimente esta amostra primeiro.</em> Este projeto usa o sistema de compilação do Gradle e a compatibilidade com o Plug-in do Android para Gradle para testes de unidade. Você pode aproveitar a integração de IDEs como o Android Studio ou executar os testes na linha de comando. Testes de unidade são executados em uma JVM local no computador de desenvolvimento. O Plug-in do Android para Gradle irá compilar o código-fonte do seu app e executá-lo usando a tarefa de teste gradle. Os testes são executados em uma versão modificada do android.jar, onde todos os modificadores finais foram removidos. Isso permite que você use bibliotecas conhecidas de simulação, como a Mockito. Para saber mais, consulte http://tools.android.com/tech-docs/unit-testing-support
Um divertido jogo de perguntas que mostra o Material Design no Android Introdução O Material Design é um novo sistema para design visual, de interação e de movimento. A versão Android do Topeka demonstra que os mesmos princípios de branding e Material Design podem ser usados para criar uma experiência consistente em todas as plataformas. Originalmente, o app da Web do Topeka foi lançado como um exemplo de código aberto de Material Design na Web. A versão atual do Topeka está disponível para os usuários a partir do nível de API 14, ou seja, a biblioteca de suporte ao design desempenha funções importantes. O Topeka também inclui um conjunto de testes Espresso, que pode ser executado com a tarefa <code>connectedAndroidTest</code> do Gradle. Saiba mais sobre o projeto no blog de Desenvolvedores Android. Capturas de tela <img src="screenshots/categories.png" width="30%" /> <img src="screenshots/category_history.png" width="30%" /> <img src="screenshots/quiz_shakespeare.png" width="30%" /> Primeiros passos Clone este repositório, entre no diretório de nível superior e execute <code>./gradlew tasks</code> para ter uma visão geral de todas as tarefas disponíveis para este projeto. Algumas tarefas importantes são: <code> bundleDebug - Agrupa todos os builds de depuração. installDebug - instala o build de depuração. connectedAndroidTest - instala e executa os testes para builds de depuração em dispositivos conectados. test - executa todos os testes de unidade </code> Compatibilidade <li>Stack Overflow: http://stackoverflow.com/questions/tagged/android</li> Se você encontrar um erro nesta amostra, informe o problema: https://github.com/googlesamples/android-topeka/issues Os patches são incentivados e podem ser enviados pela criação de um garfo deste projeto e uma solicitação de envio por meio do GitHub. License ``` Copyright 2015 Google, Inc. Licenciado para o Apache Software Foundation (ASF) em um ou mais contratos de licença de colaborador. Consulte o arquivo "NOTICE" (AVISO) distribuído com esta obra para saber mais sobre a propriedade dos direitos autorais. O ASF licencia este arquivo para você sob a Licença Apache, Versão 2.0 (a "Licença"). O uso deste arquivo só é permitido em conformidade com a Licença. Consiga uma cópia da Licença em http://www.apache.org/licenses/LICENSE-2.0 A menos que exigido pela legislação aplicável ou acordado por escrito, o software fornecido de acordo com a Licença é distribuído "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para ver informações sobre permissões e limitações para o idioma específico. ```
O modo imersivo, adicionado no Android 4.4, aprimora os modos "ocultar tela cheia" e "ocultar barra de navegação", permitindo que os usuários deslizem as barras para dentro e para fora. Esta amostra permite que o usuário explore o modo imersivo vendo como ele interage com algumas das outras sinalizações de IU relacionadas a apps de tela cheia.
Amostra do uso do modo imersivo para ocultar as barras de navegação e do sistema para apps de tela cheia.
Um app básico que mostra como recortar uma visualização usando a interface ViewOutlineProvider, por meio da qual uma visualização cria o contorno usado para sombreamento e recorte.
Amostra ilustrando as diferentes maneiras de oferecer compatibilidade com o modo escuro no Android. Usa a biblioteca Material Design Components.
Esta amostra contém dois aplicativos Android separados: DragSource e DropTarget. O DragSource contém imagens e texto que podem ser inseridos no app DropTarget. As imagens são compartilhadas entre os dois apps por meio de um URI. O app receptor precisa solicitar a permissão antes de poder usar o URI. Também demonstra o uso do DragStartHelper da Biblioteca de Suporte v13 para lidar facilmente com eventos de arrastar e soltar.
Esta é uma amostra de maneiras de mover uma visualização no eixo z usando <code>setTranslationZ()</code>. Esse método foi introduzido na API de nível 21 ("Lollipop").
Este exemplo demonstra uma ação "arraste e solte" em diferentes formas. A elevação e a translação em z são usadas para renderizar as sombras e as visualizações são cortadas usando diferentes contornos.
Um dos recursos introduzidos no KitKat é o "modo imersivo". O modo imersivo oferece ao usuário a capacidade de mostrar ou ocultar a barra de status e a barra de navegação deslizando. Para ver como funciona, clique no botão "Toggle immersive mode" e tente deslizar a barra para dentro e para fora.
Esta é uma amostra de como os links podem ser adicionados a um TextView. Isso pode ser feito automaticamente definindo "autoLink" ou de forma explícita.
Esta amostra ilustra como desenhar um plano de fundo com canto <strong>arredondado</strong> em textos. Ela é compatível com os seguintes casos: <li>Definir o plano de fundo em textos de <strong>uma linha</strong>.</li> <img src="../TextRoundedBackgroundKotlin/screenshots/single.png" <30%" /> <li>Definir o plano de fundo em textos <strong>com duas linhas ou mais</strong></li> <img src="../TextRoundedBackgroundKotlin/screenshots/multi .png" width="30%" /> <li>Definir o plano de fundo em <strong>textos da direita para a esquerda</strong>.</li> <img src="../TextRoundedBackgroundKotlin/screenshots/rtl.png" width="30%" />
Esta amostra ilustra como definir o estilo de textos no Android usando períodos, em Java.
Esta amostra ilustra como definir o estilo de textos no Android usando períodos, em Kotlin, usando o Android KTX.
Este aplicativo mostra como funcionam as várias implementações do Interpolador na plataforma. É possível variar a duração da animação e os parâmetros do construtor de qualquer um dos interpoladores de variável e usar os valores na IU para informar como escrever seu código que usa esse interpolador. As mudanças nos parâmetros de animação serão refletidas de forma dinâmica na curva azul, e a execução da animação mostrará a animação em movimento (com os círculos vermelhos na curva e na área aberta na parte inferior). Para usar: * selecione qualquer um dos interpoladores integrados na lista suspensa na parte superior * Use o(s) controle(s) deslizante(s) para mudar a duração da animação e/ou qualquer parâmetro de variável para o interpolador selecionado * Para interpoladores de caminho quadrático e cúbicos, arraste a(s) alça(s) verde(s) para posicionar os pontos de controle da curva * Clique no botão "Executar" para ver a animação em movimento * Observe os valores da duração e os outros parâmetros que serão usados no código da animação <img src="screenshot.png" alt="Captura de tela do InterrotorPlayground" "="" />
Este repositório contém uma lista de layouts que apresentam os diversos recursos e o uso do MotionLayout
Esta amostra ilustra o uso da API de várias janelas disponível no Android N. Ela mostra o uso de novas sinalizações de intent e propriedades do AndroidManifest para definir o comportamento de várias janelas. Ative modo de várias janelas no app de amostra para ver como isso afeta o ciclo de vida e o comportamento do app.
Esta amostra ilustra o uso da API de várias janelas disponível no Android N. Ela mostra o uso de novas sinalizações de intent e propriedades do AndroidManifest para definir o comportamento de várias janelas. Ative modo de várias janelas no app de amostra para ver como isso afeta o ciclo de vida e o comportamento do app.
Este aplicativo mostra como usar a API Transitions na Biblioteca de Suporte do Android. Embora as transições funcionem na plataforma desde a versão KitKat (API de nível 19), não havia como usar transições nos dispositivos com versões anteriores. Agora, você pode usar a API Support Library em vez de executar as versões do Android no Ice Cream Sandwich (API de nível 14). As APIs Support Library têm as seguintes limitações, em comparação às transições nas APIs do framework: <li>A API Support Library tem como foco as transições de visualização, assim como oferecemos na versão KitKat. Recursos posteriores, como transições de atividade, dependem dos recursos de plataforma que não são compatíveis em versões anteriores.</li> <li>As transições do KitKat oferecem a capacidade de usar arquivos de recursos XML para definir transições, cenas e gráficos de transição. Já as transições da Biblioteca de Suporte permitem apenas configurar transições do código. Não há arquivos de recurso disponíveis na Biblioteca de Suporte.</li> Para usar o aplicativo de demonstração das transições: <li>Clique em um dos botões para mover todo o grupo de botões para o local especificado no texto do botão. Observe a forma como os botões são animados no lugar (por uma única chamada para TransitionManager.beginDelayedTransition()).</li> <li>Marque a caixa "Stagger" para indicar se as transições serão executadas de forma escalonada, uma após a outra. Quando isso acontece, os botões são iniciados um de cada vez, criando um TransitionSet personalizado de transições filhas com diferentes visualizações de destino e startDelays.</li> <img src="TransitionsOnJbEmulator.png" alt="Captura de tela das transições" "="" /> Para saber mais sobre as transições, consulte os seguintes recursos: <li>Versões da Biblioteca de Suporte (use a versão 24.2.0 ou mais recente para a API de transições)</li> <li> >documentação de referência do android.support.transitions</li> <li>Treinamento de desenvolvedores sobre transições</li>
Um exemplo básico que mostra como usar o SwipeRefreshLayout para adicionar o gesto "deslizar para atualizar" a uma visualização, permitindo acionar uma atualização ao deslizar para baixo na visualização. Nesta amostra, a visualização que pode ser atualizada é uma ListView.
Um exemplo que mostra como usar o SwipeRefreshLayout para adicionar o gesto "deslizar para atualizar" a um layout com diversos filhos, permitindo acionar uma atualização ao deslizar para baixo na visualização mostrada. Nesta amostra, o SwipeRefreshLayout contém um GridView rolável, bem como uma visualização vazia do TextView.
Esta amostra demonstra como usar o ViewPager2 com visualizações ou fragmentos como páginas, como fazer transformações de páginas, como vincular o ViewPager2 a um TabLayout e demonstra como processar modificações de uma coleção de adaptador de página subjacente. O ViewPager2 substitui o ViewPager, abordando a maioria dos problemas do antecessor, incluindo compatibilidade com layout da direita para a esquerda, orientação vertical e coleções de fragmentos modificáveis. Amostras <li>ViewPager2 com visualizações: mostra como configurar um ViewPager2 com visualizações como páginas.</li> <li>ViewPager2 com fragmentos - mostra como configurar o ViewPager2 com fragmentos como páginas.</li> > <li>ViewPager2 com uma coleção mutável (visualizações) - demonstra o uso do ViewPager2 com visualizações como páginas e mutações em um adaptador de página.</li> <li>ViewPager2 com uma coleção mutável (fragmentos) - demonstra o uso do ViewPager2 com fragmentos como páginas e mutações em um adaptador de página</li> <li>ViewPager2 com TabLayout (visualizações) - mostra como configurar o ViewPager2 com visualizações como páginas e vinculá-lo ao TabLayout. </li>
Uma amostra básica da compatibilidade do modo ambiente para apps nativos do Wear.
Amostra de como usar um WearableListenerService para produzir e consumir DataEvents e trabalhar de maneira eficaz com o DataLayer.
Esta amostra ilustra como incluir compatibilidade com acessibilidade no app para wearables.
O Complication Test Suite é um conjunto de provedores de complicações que fornecem dados fictícios e pode ser usado para testar como os diferentes tipos de complicações são processados em um mostrador do relógio.
Uma amostra de como você pode gravar voz usando o microfone em um wearable e reproduzir a gravação ou um arquivo mp3, se o dispositivo wearable tiver um alto-falante integrado. Esta amostra não tem nenhum app de telefone associado. Portanto, será necessário instalá-lo diretamente no relógio (usando "adb").
Amostra das práticas recomendadas para verificar se o dispositivo móvel conectado tem seu app instalado a partir de um app autônomo do Android Wear 2.+ e vice-versa.
Um exemplo do Android Things Doorbell demonstra como criar uma campainha “inteligente”. A amostra captura um pressionamento de botão de um usuário, recebe uma imagem por meio de um periférico da câmera, processa os dados da imagem usando a API Cloud Vision do Google e faz upload da imagem, de anotações e de metadados do Cloud Vision para um banco de dados do Firebase, onde eles podem ser visualizados por um aplicativo Companion.
Amostras de drivers periféricos do Android Things localizados no repositório contrib-drivers.
Amostra do uso de APIs Android Bluetooth para áudio em um app do Android Things.
Este aplicativo demonstra como acessar a API <code>BluetoothGattServer</code> do Android em um aplicativo do Android Things. O aplicativo de amostra anuncia o perfil de tempo.
Este aplicativo demonstra como acessar a API <code>BluetoothGattServer</code> do Android em um aplicativo do Android Things. O aplicativo de amostra anuncia o perfil de tempo.
Esta amostra do Android Things demonstra como usar uma entrada de botão UserDriver para detectar as mudanças de pino GPIO, gerar e detectar eventos importantes e mudar o estado de um LED adequadamente. Siga o Peripheral I/O Codelab para ver instruções passo a passo sobre como criar uma amostra semelhante.
Esta amostra do Android Things demonstra como usar uma entrada de botão UserDriver para detectar as mudanças de pino GPIO, gerar e detectar eventos importantes e mudar o estado de um LED adequadamente.
Amostra de como chamar o serviço do Google Assistente no Android Things usando gRPC. Ela registra uma solicitação falada nos microfones conectados, envia-a para a API do Google Assistente e reproduz a resposta falada do Assistente no alto-falante conectado.
Esta amostra mostra como usar o LoWPAN para conectar vários dispositivos Android Things na mesma rede e transferir dados sem fio. Existem três módulos neste exemplo que demonstram como procurar redes, transmitir e receber dados. Para saber mais sobre as redes LoWPAN, consulte o guia da API LoWPAN.
Este app do Android Things executa um código básico que exercita as APIs Native PIO no C++. Cada amostra é um módulo do Android que pode ser executado de forma independente.
Este app do Android Things executa um código básico que exercita as APIs Peripheral I/O. Cada amostra é um módulo do Android que pode ser executado de forma independente.
Este app do Android Things executa um código básico que exercita as APIs Peripheral I/O. Cada amostra é um módulo do Android que pode ser executado de forma independente.
Esse utilitário expõe o GPIO de um dispositivo Android Things como widgets de alternância em uma IU gráfica. Você revisa o estado das entradas e clica nos comutadores para controlar o estado das saídas.
Esse utilitário expõe o GPIO de um dispositivo Android Things como widgets de alternância em uma IU gráfica. Você revisa o estado das entradas e clica nos comutadores para controlar o estado das saídas.
Este exemplo demonstra como executar a inferência do TensorFlow Lite no Android Things. Aperte um botão para capturar uma imagem com a câmera, e o TensorFlow Lite dirá o que é. Siga o Image Classifier Codelab para ver instruções passo a passo sobre como criar uma amostra semelhante.
Esta amostra ilustra operações básicas de leitura e gravação de dados em um UART. O app cria uma interface de loopback que ecoa imediatamente qualquer dado lido do buffer de recepção (RX) para o buffer de transmissão (TX).
Esta amostra ilustra operações básicas de leitura e gravação de dados em um UART. O app cria uma interface de loopback que ecoa imediatamente qualquer dado lido do buffer de recepção (RX) para o buffer de transmissão (TX).
Este aplicativo demonstra como interagir com o serviço de atualização de dispositivos no Android Things com a API <code>UpdateManager</code>. Por padrão, o sistema verifica se há novas atualizações OTA em intervalos de algumas horas e as aplica automaticamente. Este exemplo mostra como configurar a política de atualização para permitir que um app tenha mais controle sobre o processo de atualização e monitore o progresso.
Este aplicativo demonstra como acessar a API <code>UsbManager</code> do Android em um aplicativo do Android Things. O aplicativo de amostra é repetido em todos os dispositivos USB descobertos pelo host e exibe as interfaces e endpoints deles.
Este aplicativo demonstra como acessar a API <code>UsbManager</code> do Android em um aplicativo do Android Things. O aplicativo de amostra é repetido em todos os dispositivos USB descobertos pelo host e exibe as interfaces e endpoints deles.
Amostra de como implementar um hub de sensor no Android Things, que coleta dados de sensores conectados e os publica como eventos de telemetria no Google Cloud IoT Core.
Esta amostra integra vários drivers periféricos do Android Things para criar uma estação meteorológica conectada.
Esta amostra foi suspensa/arquivada, ou seja, ela é somente para leitura e não é mais mantida ativa. Veja mais detalhes sobre o arquivamento aqui. Para ver outras amostras relacionadas, confira o novo repositório do github.com/android/testing-samples. Obrigado!
Um app básico que mostra como usar a API de estatísticas de uso do app para permitir que os usuários coletem estatísticas relacionadas ao uso dos apps.
A versão para Android do catálogo de componentes do Material Design tem como objetivo demonstrar os princípios do Material Design e oferecer demonstrações de componentes e amostras de código.