Este é o Now in Android, seu guia atualizado de novidades e fatos importantes do mundo de desenvolvimento no Android.
Em conjunto com a série MAD Skills, queríamos nos divertir um pouco e oferecer uma oportunidade para que você responda a uma pergunta importantíssima: Qual é o seu nível de MAD? Para descobrir, instale e execute o plug-in MAD Scorecard no Android Studio. Ele cria uma ficha para você, mostrando o nível de pontuação dos apps nos quatro pilares do Modern Android Development e que pode ser compartilhada no Twitter com a hashtag #MADscore.
Acesse o site MAD Score para saber os detalhes ou veja mais informações no blog de Christopher Katsaros:
Enquanto isso, a série MAD Skills continua rolando, com conteúdo técnico sobre Modern Android Development. Na semana passada, terminou a série sobre Componentes do Material Design. Desde o último Now in Android, a equipe postou mais três episódios:
Nº 4: Material MotionNo quarto episódio sobre MDC, Nick Rout fala sobre os quatro padrões de movimento no Material e como implementá-los nos aplicativos. Ele detalha a amostra de app Reply e um codelab baseado nesse app para mostrar como ele funciona na prática.
Nº 5 Community Tip de Zarah DominguezO quinto episódio sobre MDC é de Zarah Dominguez, especialista em desenvolvimento do Google. Ela fala sobre como sua equipe usa o app de catálogo do Material para ver como as coisas funcionam na prática e qual é a aparência do código-fonte como exemplo de implementação.
Nº 6: Perguntas e respostas ao vivoO episódio final sobre MDC foi, assim como nas séries anteriores sobre App Bundles e Navegação, uma sessão de Perguntas e respostas ao vivo com especialistas em MDC sobre os relacionamentos com desenvolvedores e as equipes de engenharia do Material. Recebemos muitas perguntas de vocês no Twitter e em tempo real no YouTube durante a sessão. Não tivemos tempo para responder a todas, mas tivemos um progresso… material.
Se você perdeu qualquer conteúdo da série MDC, Nick Rout escreveu um resumo da série neste artigo de encerramento, com links para todos os vídeos e artigos relevantes, além de amostras, documentos e codelabs associados e muito mais.
Esta semana, temos uma nova série MAD Skills sobre Kotlin e Jetpack. Especificamente, ela fala sobre como usar o Kotlin em conjunto com muitas das APIs do Jetpack. Florina Muntenescu fez a seguinte introdução:
Nº 1: Uso do KTXO primeiro episódio da série fala sobre o uso do KTX, as extensões do Kotlin que fornecem abordagens aprimoradas e mais simples para várias bibliotecas de plataforma e do Jetpack. Florina discute o KTX em geral, com exemplos de APIs de plataforma e do Jetpack, demonstrando como ela as utiliza junto com o LiveData e o ViewModel.
Ou em formato de artigo:
Nº 2: APIs simplificadas com corrotinasNesse segundo episódio, Manuel Vivo explica como usar as corrotinas do Kotlin para melhorar a experiência de uso de APIs existentes para desenvolvedores Kotlin. Por exemplo, é possível criar adaptadores que simplificam a complexidade de callbacks aninhadas com corrotinas. Ele traz um exemplo de criação de uma API mais simples para o provedor de localização combinada para demonstrar como fazer isso na prática.
Haverá mais episódios sobre Kotlin/Jetpack nas próximas semanas, que serão disponibilizados na playlist do YouTube e também em forma de arquivo, na publicação do Android Developers.
Para ver o conteúdo atual, não deixe de conferir a playlist do MAD Skills no YouTube, os artigos no Medium ou esta página de destino útil , a qual fornece acesso a todo o conteúdo.
Nas últimas versões, foram feitas várias mudanças nas permissões. Enquanto isso, continuamos nos concentrando no controle de usuários e na transparência de dados de usuários. Às vezes, isso envolve o trabalho de desenvolvedores, para acompanhar as últimas atualizações e mudanças de comportamento. Por isso, trabalhamos em nossa documentação, para ajudarmos nesse processo.
Como parte desse esforço, recentemente fizemos várias melhorias substanciais no guia de permissões no Android. Esse site agora fornece orientações mais otimizadas sobre o funcionamento das permissões, além de práticas recomendadas para o uso de permissões em apps. Em especial, você deve avaliar se realmente precisa declarar permissões, o que não é necessário na maioria dos casos comuns.
Dois guias da biblioteca Room foram reformulados para esclarecer como utilizar alguns dos aspectos das APIs:
Como acessar dados usando DAOs (objetos de acesso aos dados) da Room fornece uma visão geral do uso da interface DAO, incluindo o uso dos métodos de consulta integrados e também de métodos personalizados por meio da anotação @Query .
@Query
Writing asynchronous DAO queries cobre mais detalhes sobre como escrever consultas que ocorrem fora da linha de execução de IU, o que é bastante necessário para interações com bancos de dados. O guia discute várias alternativas que podem ser utilizadas, dependendo da linguagem e das preferências de API assíncrona.
Dentre todas as versões Alfa, Beta e RC recentes das várias bibliotecas do AndroidX, estão as seguintes versões estáveis:
Também chegaram algumas versões estáveis de correção de bugs, incluindo Exifinterface 1.3.2, Media 1.2.1 e Navigation 2.3.2.
Jamal Eason postou um artigo anunciando a próxima versão do Android Studio: o Arctic Fox já está no canal Canary e pronto para avaliação. A primeira coisa que você notará sobre essa versão é um novo esquema de nomenclatura e controle de versões, que é discutido detalhadamente no artigo. Além disso, algumas das coisas a serem conferidas nessa versão incluem uma IU para o emparelhamento com um dispositivo para depuração de Wi-Fi (por enquanto apenas para MacOS), uma ferramenta de validação de layout e o suporte continuado ao desenvolvimento no Jetpack Compose. (Note que a versão canário do Studio sempre deve ser utilizada para trabalhar com o Compose em seu estado inicial atual.)
Murat Yener também postou sobre as novidades do Android Studio em seu artigo sobre a nova versão Alfa do Plug-in do Android para Gradle, versão 7.0.0-alpha01. Observe que o AGP também passou por uma mudança de nomenclatura de versão. Agora, ele segue as versões do Gradle em vez de ser associado às versões do Android Studio. Isso explica por que parece que essa versão pulou ou omitiu algumas versões desde a atual 4.2. O artigo também fala sobre algumas das recentes mudanças de API no AGP 4.2.
Meghan Mehta postou mais um artigo em sua série sobre o RecyclerView. Embora o RecyclerView não seja novo (e provavelmente já esteja sendo utilizado em apps pela maioria dos desenvolvedores Android), achamos que a documentação e os exemplos de alguns dos fundamentos eram um pouco difíceis de encontrar (pelo menos em nossos documentos e artigos). Por isso, ela tem tentado explicar como usar alguns dos fundamentos, utilizando amostras de código para mostrar como fazer as coisas na prática.
Em seu artigo mais recente, Meghan fala especificamente sobre o uso do ListAdapter, que oferece uma forma simples de obter algumas funcionalidades ótimas para o RecyclerView, inclusive um desempenho melhor e animações automáticas de itens. O ListAdapter usa o DiffUtil para determinar as mudanças específicas que ocorreram, das quais o RecyclerView necessita para obter o máximo desempenho e as melhores animações.
Continuei com minha exploração do desempenho de inicialização com uma série em duas partes sobre a biblioteca do AndroidX App Startup, que recentemente chegou à versão 1.0 . A Parte um analisa como os provedores de conteúdo geralmente são utilizados para instanciar bibliotecas e como isso pode causar um impacto oculto sobre o tempo de inicialização dos aplicativos.
A Parte 2 investiga como usar a biblioteca App Startup para remover os provedores de conteúdo ocultos e agrupar as solicitações para iniciar as bibliotecas de forma lenta.
Há um artigo no blog do Android Developers que detalha melhorias adicionadas ao sistema e às APIs de localização para que seja possível obter informações de localização mais precisas em grandes cidades. O artigo discute o problema da derivação de localizações de GPS em grandes cidades, onde a suposição padrão da tecnologia de GPS utilizando a linha de visão é prejudicada pela forma como os sinais são refletidos pelos edifícios altos. (Tor e eu conversamos sobre isso com Marc Stogaitis, da equipe de localização, em um podcast do ADB em 2014: o fenômeno é conhecido como “vales urbanos”).
A equipe integrou modelos de edifícios 3D das principais cidades para atingir resultados de localização muito mais precisos. A versão 2 dessa tecnologia já está disponível em alguns dispositivos Pixel. Uma versão anterior foi disponibilizada para o ecossistema mais amplo, e essa versão mais recente também estará disponível mais globalmente no início do próximo ano.
É claro que tudo isso é um recurso para usuários, e o Now in Android é para desenvolvedores. Mas eu queria destacar isso aqui porque (a) acho o artigo e a tecnologia interessantes e (b) há um apelo para os desenvolvedores aqui, que é o de usar o provedor de localização combinada (FLP) para obter acesso a esses dados de localização aprimorados.
Além disso, há uma nova API no FLP que permite obter as informações de localização atuais com muito mais facilidade, simplesmente perguntando qual é a localização atual e obtendo um resultado, em vez de inscrever mudanças constantes de localização e, então, cancelar a inscrição depois de obter o primeiro resultado. Confira a documentação da API getCurrentLocation() do FLP, a nova amostra CurrentLocationKotlin e o artigo para obter mais informações.
Chris Banes migrou o app Tivi , deixando de usar o kit de ferramentas de IU atual e passando para o Jetpack Compose. Ele concluiu a maior parte dessa migração, com toda a IU agora sendo escrita no Compose, e reportou alguns resultados interessantes sobre tamanho do APK (muito menor!), contagem de métodos (menor) e duração da compilação (um pouco menor).
A API CameraView no CameraX estava trabalhando demais, lidando com a IU e a lógica de controle. Assim, essa lógica foi refatorada para o PreviewView e a nova classe CameraController . Este artigo descreve como usar o CameraController e como essa funcionalidade se compara com o que você pode ter utilizado no CameraView.
CameraController
CameraView
Desde o último Now in Android, publicamos outro episódio do Android Developers Backstage . Confira no link abaixo ou acesse em seu cliente de podcast favorito:
Romain Guy, Tor Norbye e eu conversamos com Jesse Wilson, da Square, sobre algumas das bibliotecas de código-aberto mais conhecidas nas quais ele está trabalhando, inclusive OkHttp, Okio e [Ok]Moshi. Falamos sobre essas e outras bibliotecas e também sobre desenvolvimento do Android, de bibliotecas, de frameworks e do Kotlin. E ainda falamos sobre aquele costume terrível que alguns engenheiros têm de transformar uma solicitação de recurso ou um pequeno problema em um projeto de criação de uma nova biblioteca de código aberto.
Isso é tudo, por enquanto. Então, obtenha seu MAD Scorecard. Acesse o MAD para saber mais sobre MDC e conteúdo do Kotlin/Jetpack. Conheça a documentação mais recente sobre Permissões e sobre a Room. Faça o download das versões estáveis mais recentes do AndroidX. Leia novos artigos sobre ListAdapter, desempenho de inicialização, localização de GPS aprimorada, migração para o Jetpack Compose e CameraController. Ouça o episódio mais recente do podcast do ADB. Em breve, voltaremos com a próxima atualização do universo dos desenvolvedores Android.
Postar um comentário
Nenhum comentário :
Postar um comentário