Este é o Now in Android, seu guia atualizado de novidades e fatos importantes do mundo de desenvolvimento no Android.
Este Now in Android também é oferecido nos formatos de vídeo e podcast. O mesmo conteúdo, com menos leitura. A versão em artigo (continue lendo!) ainda é o local onde você encontra os links para todo o conteúdo abordado.
Clique no link abaixo ou simplesmente assine o podcast em seu app cliente favorito.
Now in Android: 36 - MAD Skills WorkManager, AndroidX, #AndroidDevChallenge e muito mais.
A série sobre o WorkManager continua, com mais dois episódios.
Trabalho em segundo plano: se há algo que não se deve fazer nos apps Android é bloquear o thread da IU. Neste episódio, Ben Weiss fala sobre como executar o trabalho em segundo plano utilizando o WorkManager e discute as várias abordagens possíveis. As APIs que você usa no WorkManager dependem do uso de executores, corrotinas ou do RxJava. O episódio também fala sobre como retornar um resultado quando o trabalho está concluído. Além disso, Ben faz uma das melhores interpretações de “Let’s go” que já vi até hoje nos vídeos do MAD.
Configuração e testes avançados: Ben explica também como personalizar a inicialização do WorkManager, dar suporte a apps que abrangem vários processos e testar workers, além de compartilhar algumas técnicas úteis de depuração.
Desta vez, a maioria das versões do AndroidX tem a ver com correções de erros. Isso é uma ótima notícia! Quando você tem problemas com as nossas bibliotecas, nós as corrigimos. Todo mundo sai ganhando.
Você já sabe que eu trabalho com o Hilt… então não posso prosseguir para a próxima seção sem mencionar que o Hilt foi promovido para a versão Beta. Todas as APIs Hilt e as APIs específicas do AndroidX para o suporte a ViewModel, WorkManager e Navegação agora são estáveis. Talvez você já saiba disso, mas o Hilt é a solução recomendada do Jetpack para a injeção de dependências no Android. Como parte disso, lançamos uma folha de referência que permite ver rapidamente o que fazem as diferentes anotações do Hilt e do Dagger e como utilizá-las.
Enquanto isso, se você está começando a usar o Jetpack Compose e o componente de Navegação, a equipe acaba de lançar uma nova biblioteca chamada hilt-navigation-compose para recuperar ViewModels fornecidos pelo Hilt e direcionados a um destino de um gráfico de navegação criado com a navegação do Compose. Leia mais sobre isso na documentação.
Don Turner fala sobre as melhorias na latência de áudio do Android e como isso afeta os apps de áudio em tempo real. Este artigo analisa o que mudou no ecossistema, os planos para o futuro e como dar os primeiros passos para criar apps de áudio de baixa latência usando a biblioteca Oboe.
An update on Android's audio latency
O Jetpack Compose sempre foi desenvolvido com o usuário em mente. E o principal usuário é VOCÊ, nosso estimado amigo desenvolvedor. Preethi Srinivas e Paris Hsu falam sobre como o recurso de visualização do Compose no Android Studio foi projetado e como diferentes estudos de pesquisa de UX influenciaram o design e a funcionalidade.
A UX journey of Compose Preview
Os blocos do Wear OS estão sendo totalmente reformulados. Há uma nova biblioteca de Blocos do Jetpack, ainda na versão Alfa, que permite criar blocos personalizados, um acesso simplificado a informações e ações no Wear OS sem a necessidade de abrir o app. Eles serão disponibilizados aos usuários nas futuras atualizações da plataforma Wear OS. Essa biblioteca permite começar a criar protótipos imediatamente.
Como criar blocos personalizados no Wear OS by Google com a biblioteca de Blocos do Jetpack
A equipe do Jetpack Compose acaba de lançar diretrizes de API: padrões, práticas recomendadas e diretrizes de estilo para escrever APIs idiomáticas do Jetpack Compose. Confira este guia para obter ajuda para escrever código idiomático do Compose ou simplesmente para saber mais sobre as ideias por trás das APIs do Compose em geral.
Caren Chang e eu fizemos juntos uma sessão ao vivo para explicar como usar as corrotinas no Android. Falamos sobre a documentação das corrotinas e o codelab de fundamentos e também respondemos a perguntas no chat ao vivo.
Se você quiser aprender sobre corrotinas, abra o Android Studio e codifique junto conosco neste vídeo.
Com a chegada do Jetpack Compose à versão Beta algumas semanas atrás, demos início a um Developer Challenge que inundou a Internet com apps para a adoção de filhotes na primeira semana e timers de contagem regressiva na segunda. Na semana três, chegou a hora de um desafio para os dedos mais velozes do oeste!
Levados em conta os diferentes fusos horários, os desenvolvedores Android foram desafiados a implementar um design fictício com a máxima rapidez possível para concorrer a um Pixel 5.
Se você não teve tempo de participar, não se preocupe. Você ainda pode usar esses desafios para experimentar o Compose no seu próprio ritmo. Mas, se você precisa de uma motivação extra, o "grand finale" do #AndroidDevChallenge começa no dia 17 de março. Não perca!
Publicamos outro episódio do Android Developers Backstage desde o último Now in Android. Confira no link abaixo ou no seu cliente de podcast favorito.
Chet Haase, Romain Guy e Tor Norbye conversaram com quatro membros da equipe do Jetpack Compose, Nick Butcher, Clara Bayarri, Leland Richardson e Adam Powell, para discutir sobre o que significa “o Compose está na versão Beta” e sobre alguns recursos oferecidos pelo Jetpack, como corrotinas, a implementação do Material Design e o ConstraintLayout.
Episódio 158: Jetpack Compose... C'est bêta!
A missão da equipe de Relacionamentos com desenvolvedores Android é ajudar as pessoas a criar ótimos apps. Deseja fazer parte da nossa equipe? Temos algumas vagas em aberto em todo o mundo que podem ser do seu interesse. Se você ainda não sabe o que a nossa equipe faz, leia a postagem do blog de Jacob Lehrbaum para obter mais informações e ver uma descrição das vagas disponíveis.
Android Developer Relations is hiring
Isso é tudo, por enquanto. Consulte no MAD as informações sobre o WorkManager, na última série do MAD Skills. Leia os artigos sobre latência de áudio, jornada de UX da visualização do Compose, as vagas disponíveis em nossa equipe, a nova biblioteca de Blocos do Wear OS e as diretrizes de API para o Jetpack Compose. Assista ao episódio do Android Code-Along sobre corrotinas. Componha códigos com o #AndroidDevChallenge. Ouça o podcast do ADB mais recente. Faça parte da equipe DevRel. Em breve, voltaremos com a próxima atualização do universo dos desenvolvedores Android.
Postado por Jolanda Verhoef, engenheira de relacionamentos com desenvolvedores
A biblioteca de Blocos foi introduzida em 2019 e, a partir desse momento, ela se tornou um dos recursos mais práticos e úteis dos smartwatches com o Wear OS by Google. Os blocos são rápidos de acessar, convenientes e projetados para fornecer aos usuários acesso por deslizamento a tudo o que eles precisam saber e fazer diretamente em seus pulsos. Isso também oferece controle sobre quais informações e ações os usuários desejam ver.
Hoje, temos o prazer de anunciar que a biblioteca de Blocos do Jetpack está na versão Alfa. Essa biblioteca permite aos desenvolvedores criar blocos personalizados em smartwatches com o Wear OS. Esses blocos personalizados estarão disponíveis aos usuários no segundo trimestre deste ano, quando lançarmos a atualização correspondente da plataforma Wear OS.
Os blocos podem ser projetados para muitos casos de uso, como para acompanhar o progresso das atividades diárias do usuário, iniciar rapidamente um treino, tocar uma música ouvida recentemente ou enviar uma mensagem para um contato favorito. Enquanto os apps podem ser imersivos, os blocos são carregados rapidamente e se concentram nas necessidades imediatas do usuário. Se o usuário quiser mais informações, poderá tocar nos blocos para abrir um app relacionado no relógio ou telefone e ter uma experiência mais profunda.
Os blocos são criados com o Android Studio, como parte do aplicativo Wear OS. Comece adicionando as dependências de blocos do Wear OS:
dependencies { implementation "androidx.wear:wear-tiles:1.0.0-alpha01" debugImplementation "androidx.wear:wear-tiles-renderer:1.0.0-alpha01" }
A primeira dependência inclui a biblioteca de que você precisa para criar um bloco, enquanto a segunda permite visualizar o bloco em uma atividade.
Em seguida, forneça as informações para renderizar o bloco usando o TileProviderService:
TileProviderService
class MyTileService : TileProviderService() { override fun onTileRequest(requestParams: RequestReaders.TileRequest) = Futures.immediateFuture(Tile.builder() .setResourcesVersion("1") .setTimeline(Timeline.builder().addTimelineEntry( // For more information about timelines, see the docs TimelineEntry.builder().setLayout( Layout.builder().setRoot( Text.builder().setText("Hello world!") ) ) ) ).build()) override fun onResourcesRequest(requestParams: ResourcesRequest) = Futures.immediateFuture(Resources.builder() .setVersion("1") .build() ) }
Esse código tem duas partes importantes:
onTileRequest()
TimelineEntry
onResourcesRequest()
Crie uma atividade simples para visualizar o bloco. Adicione essa atividade a src/debug em vez de src/main, porque essa atividade só é usada para fins de depuração/visualização.
src/debug
src/main
class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val rootLayout = findViewById<FrameLayout>(R.id.tile_container) TileManager( context = this, component = ComponentName(this, MyTileService::class.java), parentView = rootLayout ).create() } }
Agora você está pronto para publicar o bloco. Para obter mais informações sobre como fazer isso e saber mais sobre os blocos, leia nosso novo guia e confira nossas amostras de blocos para vê-los em ação.
A biblioteca de Blocos do Jetpack está na versão Alfa, e queremos receber seu feedback para que possamos melhorar a API. Boa programação!
Postado por Dave Burke, vice-presidente de engenharia
No mês passado, compartilhamos a primeira Visualização do desenvolvedor do Android 12, uma prévia da próxima versão do Android. Hoje, trazemos a você o próximo marco de versão do lançamento deste ano, com mais recursos novos e mudanças para que você experimente com os apps. Nosso programa de prévias iniciais é motivado por nossa filosofia fundamental de abertura e colaboração com você, que faz parte da nossa comunidade. Sua contribuição nos ajuda a fazer do Android uma plataforma melhor para desenvolvedores e usuários, portanto continue enviando feedback!
No Android 12, estamos tornando o SO mais inteligente, mais fácil de usar e com melhor desempenho, com a privacidade e a segurança como o centro de tudo. Também estamos trabalhando para fornecer novas ferramentas para a criação de ótimas experiências para os usuários, quer eles estejam usando smartphones, laptops, tablets, TVs ou carros. Algumas coisas a serem observadas no lançamento de hoje incluem novas APIs para cantos arredondados, melhorias em APIs picture-in-picture, melhor gerenciamento de dispositivos associados, efeitos mais fáceis, como desfoque e filtro de cores, controles de sobreposição de apps e muito mais.
Há muitas novidades na Visualização do desenvolvedor 2. Continue lendo para ver alguns destaques e visite o site para desenvolvedores Android 12 para ver os detalhes e downloads para o Pixel. Para quem já executa a Visualização do desenvolvedor 1 ou 1.1, também oferecemos uma atualização OTA.
Queremos saber a sua opinião e agradecer a todos os que compartilharam feedbacks tão úteis até o momento.
Continuamos nos concentrando em dar mais transparência e controle aos usuários e em manter a segurança de seus dispositivos e dados. No lançamento de hoje, adicionamos alguns recursos que você pode conferir e testar com os apps.
Controles de sobreposição de apps - A janela de alerta do sistema Android dá aos apps uma forma de chamar a atenção dos usuários para ações importantes mostrando uma sobreposição por cima do app ativo. Mas essas janelas podem interromper o usuário, por isso já exigimos que os apps solicitem permissão antes de exibi-las. No Android 12, daremos a você o controle sobre a exibição dessas sobreposições sobre o conteúdo. Após você declarar uma nova permissão, o app pode chamar Window#setHideOverlayWindows() para indicar que todas as janelas TYPE_APPLICATION_OVERLAY devem ser ocultadas quando a janela do app estiver visível. Você pode optar por fazer isso ao exibir telas confidenciais, como fluxos de confirmação de transações. Saiba mais aqui.
Segurança estendida para ações de notificação em tela de bloqueio - O Android 12 adiciona controles mais detalhados de privacidade e segurança para notificações exibidas na tela de bloqueio do dispositivo. Agora, você pode configurar ações de notificação para que, quando acionadas a partir da tela de bloqueio, elas sempre gerem um desafio de autenticação. Isso estende os controles de visibilidade de notificação já disponíveis por meio das APIs de notificação. Por exemplo, isso permite que um app de mensagens exija autenticação antes de excluir uma mensagem ou marcá-la como lida. Saiba mais aqui.
Você pode ler mais sobre essas e outras mudanças de privacidade e segurança aqui.
Estamos trabalhando para oferecer mais ferramentas para ajudar você a entregar uma experiência mais refinada e um desempenho melhor aos usuários. Estas são algumas das atualizações do lançamento de hoje.
Suporte a cantos arredondados - Muitos dispositivos modernos usam telas com cantos arredondados, que conferem uma aparência limpa e moderna, mas também introduzem algumas considerações a mais para os desenvolvedores de apps. Para oferecer uma ótima UX nesses dispositivos, os desenvolvedores precisam levar em conta os cantos arredondados e ajustar quaisquer elementos da IU próximos a fim de evitar que eles sejam truncados.
Para ajudar nisso, estamos introduzindo novas APIs para permitir a consulta de cantos arredondados e a obtenção de detalhes. Um RoundedCorner contém os detalhes de um canto, incluindo raio, ponto central e outros dados. Você pode chamar Display.getRoundedCorner() para obter os detalhes absolutos de cada canto arredondado. Também pode chamar WindowInsets.getRoundedCorner() para obter os detalhes do canto relativos aos limites do app. Com eles, você pode gerenciar a posição dos elementos da IU e do conteúdo como necessário. Saiba mais aqui.
Melhorias de picture-in-picture (PIP) - Para os usuários da navegação por gestos, melhoramos a forma como os apps fazem a transição para o modo picture-in-picture (PIP) com o gesto de deslizar para a página inicial. Se um app ativar o PIP automático, o sistema agora faz a transição direta do app para o modo PIP com o gesto de deslizar para a tela inicial, em vez de aguardar a conclusão da animação de transição para a tela inicial. Isto torna a transição mais suave e melhora o desempenho percebido. Também melhoramos o redimensionamento da janela PIP para conteúdo que não seja de vídeo. Agora, os apps podem ativar o redimensionamento transparente para deixar que o sistema redimensione a atividade PIP quando necessário. O Android 12 também dá suporte ao armazenamento da janela PiP com o arraste para a esquerda ou para a direita da tela. Além disso, para facilitar a manipulação de janelas PIP, atualizamos os comportamentos de toque. O toque único agora exibe os controles, e tocar duas vezes alterna o tamanho da janela PIP. Saiba mais aqui.
Manutenção da atividade de dispositivos associados - Para apps que gerenciam dispositivos associados, como smartwatches e controladores de condicionamento físico, pode ser um desafio garantir que o app esteja em execução e conectado sempre que houver um dispositivo como esses nas proximidades. Para facilitar as coisas, estamos estendendo o Companion Device Manager com uma nova API CompanionDeviceService. Os apps que gerenciam dispositivos associados podem implementar esse serviço para permitir que o sistema ative o app sempre que houver um dispositivo desse tipo por perto. O sistema mantém o serviço vinculado sempre que o dispositivo estiver próximo e notifica o serviço quando o dispositivo entra e sai do alcance ou é desligado, para permitir que o app limpe o estado conforme necessário. Os apps também podem usar um novo perfil de dispositivo associado ao se conectarem a um relógio, o que simplifica o registro com o empacotamento das permissões relacionadas em uma única concessão. Saiba mais aqui.
Melhorias de estimativa de largura de banda - Para os desenvolvedores que precisam saber a largura de banda típica disponível para cada usuário a fim de adaptar a experiência, agora fornecemos a estimativa avançada de largura de banda. Melhoramos as APIs de estimativa de largura de banda existentes para permitir que seja recuperada uma estimativa da capacidade agregada por operadora ou SSID de Wi-Fi, tipo de rede e nível de sinal para todos os usuários do dispositivo. A nova estimativa deverá ser mais simples e precisa do que a maioria dos outros métodos de estimativa, por isso experimente e conte para nós como ela funcionou para você.
Simplificação de desfoque, filtros de cores e outros efeitos - No Android 12, estamos simplificando a aplicação de efeitos gráficos comuns às Visualizações e hierarquias de renderização. Você pode usar o RenderEffect para aplicar desfoques, filtros de cores e muito mais a qualquer RenderNode. É possível combinar esses efeitos em cadeia (compondo um efeito interno e externo ordenado) ou mesclá-los. Também é possível aplicar efeitos diretamente às Visualizações (aproveitando o RenderNode subjacente) chamando View.setRenderEffect(RenderEffect).
view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))
Desfocando uma visualização com RenderEffect
Isso permite desfocar o conteúdo de um ImageView sem a necessidade de obter os dados do bitmap, processar a imagem, criar um novo Bitmap e colocá-lo de volta no ImageView. RenderEffect utiliza o pipeline de renderização existente para minimizar os cálculos excessivos.
Experimente e envie-nos a sua opinião! Saiba mais aqui.
Você também pode criar um efeito de vidro congelado para o fundo da janela usando uma nova API Window.setBackgroundBlurRadius(). Com isso, é possível definir um raio para controlar a densidade e o escopo, e a plataforma aplica o desfoque ao conteúdo de fundo apenas dentro dos limites da janela do app. Você ainda pode usar blurBehindRadius para desfocar todo o conteúdo por trás da janela, criando um efeito de profundidade para uma janela flutuante.
Janela de uma caixa de diálogo com desfoque no plano de fundo e desfoque por trás (blur behind)...
Estamos trabalhando para agilizar e simplificar as atualizações priorizando a compatibilidade do aplicativo à medida que lançamos novas versões da plataforma. No Android 12, a maioria das mudanças voltadas para os apps é ativável, para que você tenha mais tempo, e nossos processos e ferramentas foram atualizados para ajudar você a se preparar mais rapidamente.
Com a Visualização do desenvolvedor 2, estamos bem avançados na versão e continuamos a melhorar a estabilidade geral, então chegou a hora de experimentar os novos recursos e mudanças e enviar-nos seu feedback. Queremos saber principalmente sobre o que você acha de nossas APIs e também os detalhes de como as mudanças da plataforma afetam os apps. Acesse a página de feedback para compartilhar suas opiniões ou relatar problemas.
Este é um bom momento para começar o teste de compatibilidade e identificar o trabalho que ainda tem a fazer. Recomendamos agir de forma antecipada para que você possa lançar uma atualização compatível com o Android 12 Beta 1. Desta vez, não será preciso mudar o targetSdkVersion do app, mas recomendamos usar os botões de alternância de comportamento para ter uma ideia preliminar de como o app pode ser afetado pelas mudanças ativáveis no Android 12.
Quando alcançarmos a estabilidade da plataforma em agosto de 2021, todos os comportamentos do sistema voltados para os apps, como APIs SDK/NDK e listas não SDK, estarão finalizados. Nesse ponto, você poderá concluir o teste de compatibilidade final e lançar uma versão totalmente compatível do app, SDK ou biblioteca. Saiba mais sobre o cronograma para desenvolvedores.
Botões de alternância de compatibilidade de apps nas opções do desenvolvedor.
A Visualização do desenvolvedor tem tudo o que você precisa para experimentar os recursos do Android 12, testar apps e nos enviar feedback. Você pode começar hoje mesmo atualizando uma imagem de sistema de dispositivo para um dispositivo Pixel 3/3 XL, Pixel 3a/3a XL, Pixel 4/4 XL, Pixel 4a/4a 5G ou Pixel 5 ou usando o Android Emulator. Se já tiver instalado um build de visualização em um dispositivo Pixel, você receberá futuras atualizações OTA automaticamente para todas as visualizações e versões Beta posteriores. Veja mais detalhes sobre como obter o Android 12 aqui.
Você também pode testar apps no Android TV usando a versão de hoje e experimentar a novíssima experiência do Google TV. Saiba mais aqui e comece com o ADT-3 developer kit.
Para acessar todas as informações, visite o site para desenvolvedores Android 12.
Now in Android: 34 - Componentes do Material, Kotlin Symbol Processing, atualizações do AndroidX e muito mais!
A série sobre o MotionLayout está chegando ao fim. No quarto episódio, Sean McQuillan explica como criar uma barra de ferramentas recolhível usando o Motion Layout, algo em que essa API se destaca. Ao longo do caminho, você aprende a animar atributos personalizados usando o MotionLayout.
E, como não poderia deixar de ser, o episódio final é uma sessão de Perguntas e respostas ao vivo com especialistas do Motion Layout sobre as equipes de engenharia e relacionamentos com desenvolvedores. Acesse e faça perguntas se estiver lendo este artigo antes do evento.
Se você perdeu algum dos episódios anteriores, não deixe de conferir a playlist da série MotionLayout MAD Skills.
Psiu… alerta de spoiler: a próxima série MAD Skills será sobre o WorkManager! Não conte para ninguém 🤐
Lançamento da biblioteca material-components-android na versão 1.3.0 estável! Ela traz novos componentes do Material, como MaterialTimePicker e ProgressIndicator. Outras atualizações incluem internacionalização e localização de strings dentro de alguns componentes como caixas de diálogo, além de exposição da classe BadgeUtils como pública.
Veja todas as mudanças nas notas da versão.
O Kotlin Symbol Processing (KSP), a ferramenta para a criação de plug-ins de compilador leves no Kotlin, agora está na versão Alfa. Se você está familiarizado com os processadores de anotações, o KSP oferece funcionalidade similar à do KAPT, mas é até duas vezes mais rápido e está sendo desenvolvido com a multiplataforma Kotlin em mente.
Se você é autor de uma biblioteca que usa processamento de anotações, consulte a postagem do blog para saber como pode tornar sua biblioteca compatível com o KSP.
Anunciamos o Kotlin Symbol Processing (KSP) Alfa
Entre as muitas versões complementares recentes das várias bibliotecas do AndroidX, estavam as seguintes versões estáveis:
Activity 1.2.0: essa versão marca a primeira versão estável das APIs Activity Result, que trazem a segurança de tipos e facilitam os testes para os fluxos startActivityForResult e requestPermissions. Além disso, ComponentActivity implementa a API ContextAware como um hook antes da chamada a super.onCreate.
Fragment 1.3.0: essa versão traz muitas mudanças. Em especial, ela traz um novo gerenciador de estados, que envolveu uma reescrita considerável dos componentes internos do FragmentManager. Ela também adiciona o suporte ao Activity 1.2.0, traz novas APIs Fragment Result e melhora consideravelmente o FragmentScenario do artefato fragment-testing.
Lifecycle 2.3.0: essa versão adiciona o suporte ao SavedStateHandle para classes não comparáveis, auxiliadores de evento e estado do ciclo de vida e outros requintes como as funções de suspensão withStateAtLeast, que executam um bloco de código quando o ciclo de vida muda para o estado determinado.
Além das versões estáveis, o Paging 3 chegou à sua primeira versão Beta, e isso pede uma comemoração! O Paging 3 foi uma importante reescrita em Kotlin que adota as corrotinas em um nível fundamental. Essas APIs atingiram a estabilidade com a versão beta01.
Escrevi este artigo para desmistificar como as corrotinas são realmente executadas no tempo de execução do Android. Uma vez que as corrotinas no Android usam o modelo de thread segundo definido pela linguagem de programação Java, é preciso ficar de olho nos problemas de simultaneidade no código.
Bridging the gap between coroutines, JVM threads, and concurrency problems
A privacidade continua sendo uma prioridade para o Android, porque a proteção dos dados privados dos usuários e a transparência quanto ao uso desses dados pelos apps são extremamente importantes. A palestra de Fred Chung abrange algumas das mudanças voltadas ao usuário, mas se concentra principalmente nos desenvolvedores: novas APIs, mudanças de comportamento e testes. Isso inclui mudanças em permissões como a opção de autorização única, armazenamento, visibilidade de pacotes, ferramentas para ajudar a identificar acesso a dados privados e muito mais.
Nicole Borrelli explica por que um app deve usar PendingIntents em vez de Intents para a implementação de callbacks entre apps. Spoilers: não fazer isso pode deixar um app vulnerável.
Android Nesting Intents
A qualidade dos aplicativos é importante para todos. A nova página de qualidade de apps em nosso site para desenvolvedores ajuda você a se manter atualizado com os principais aspectos da qualidade de apps e fornece recursos relacionados para atingir e manter a alta qualidade. A lista de verificação de qualidade principal do aplicativo ajudará você a avaliar o app em termos de experiência visual, funcionalidade, desempenho e estabilidade, privacidade e segurança e em relação ao Google Play. Alguns desenvolvedores acharam útil compartilhar isso com as equipes de design e controle de qualidade para alinhar as expectativas.
Atualizaremos regularmente essa lista para mantê-la em dia e também expandiremos isso para outros formatos, como tablets e WearOS.
Quality to match with your user's expectations
Queremos tornar o desenvolvimento em Android acessível para mais pessoas. Um novo currículo para desenvolvimento em Android com o Kotlin está disponível para que os educadores possam ensinar sobre o Android em sala de aula. Ele inclui muitos materiais para que você tenha tudo o que precisa, de slides a codelabs práticos.
Para aqueles que gostam de aprender em grupo, o programa Android Study Jams já está disponível para todos os desenvolvedores. Esse conteúdo permite que um grupo de pessoas se reúna e aprenda sobre o Android no próprio ritmo, usando um currículo on-line.
New curriculum for educators to teach Android app development
Isso é tudo, por enquanto. Então, acesse o MAD para ver mais episódios sobre conteúdo do MotionLayout. Confira a mais recente versão Alfa do KSP, os componentes do Material e as versões estáveis do AndroidX! Leia novos artigos sobre corrotinas e intents de aninhamento e assista ao mais recente vídeo sobre as mudanças de privacidade do Android 11. Veja os novos recursos de qualidade de apps e educação. Em breve, voltaremos com a próxima atualização do universo dos desenvolvedores Android.
Ele chegou! Finalmente chegou a versão Beta do Jetpack Compose! Para comemorar, criamos este programa com visões gerais, algumas Perguntas e respostas e uma demonstração de alguns dos motivos pelos quais estamos ansiosos por esse novo mundo:
O Jetpack Compose é o futuro kit de ferramentas de IU para Android, projetado para agilizar e facilitar a criação de apps Android nativos. Estamos trabalhando há algum tempo na biblioteca de código aberto, desde que anunciamos o Compose no Google I/O em 2019. Chegamos ao marco da categoria Alfa em agosto e, semana passada, alcançamos a versão Beta.
Como a versão Beta é uma conquista importante (indicando que a API é estável à medida que continuamos a solidificar o produto), publicamos várias informações sobre o Compose para ajudar você a aprender como usá-lo e a se preparar para adotá-lo nos aplicativos quando alcançarmos a versão 1.0, ainda este ano.
Primeiro, confira este blog com links para todos os tipos de informações sobre o Jetpack Compose, além de recursos para saber mais sobre ele:
Announcing Jetpack Compose Beta!
Em seguida, há uma série de vídeos e screencasts mostrando como usar diferentes aspectos do Jetpack Compose:
É claro que você vai querer mexer em algum código, então não deixe de conferir as amostras atualizadas e os codelabs no novo programa de aprendizado.
Finalmente, acesse nosso site para desenvolvedores para ler os documentos atualizados mais recentes, com links para todos os tipos de informações adicionais sobre como começar a usar o Jetpack Compose.
O Android teve início em um desafio para desenvolvedores em 2007, um ano antes da versão 1.0. Assim, não é surpresa pensarmos em outros desafios quando há um aspecto novo e interessante no mundo do desenvolvimento em Android para brincarmos.
Com o Jetpack Compose alcançando a versão Beta na semana passada (veja acima, aí mesmo na seção anterior), achamos que estava na hora de outro desafio. Desta vez, são quatro desafios semanais com milhares de prêmios, incluindo um Pixel 5.
O primeiro desafio, um app de adoção de filhotes, acaba de ser encerrado (lamentamos!), mas o segundo desafio acaba de começar. Agora, a tarefa é criar um timer de contagem regressiva. Mas seja rápido: o tempo voa!
Consulte o blog de lançamento, o blog sobre o segundo desafio e o site #AndroidDevChallenge para obter mais informações. E vá para o Compose criar código!
Devemos estar naquela época do ano novamente, as cerejeiras estão florindo, o clima está ficando um pouco mais quente, as chuvas na Califórnia estiaram até novembro, e a prévia inicial da próxima versão do Android está disponível agora!
Leia o blog para obter uma visão geral do conteúdo da versão, desde as melhorias de privacidade e segurança até os recursos gráficos, como transcodificação de mídia e suporte a imagens AVIF.
Confira também o site da Prévia do Android 12 para obter detalhes sobre mudanças de comportamento, novos recursos e APIs e muito mais. E, o mais importante: experimente o app com a nova versão e envie-nos seu feedback com quaisquer dúvidas que você tenha; esse é o motivo principal do lançamento antecipado dessas prévias, para que possamos fazer ajustes até o momento em que lançarmos o produto acabado.
Evidentemente, esse lançamento é apenas a primeira de várias etapas ainda por vir, à medida que caminhamos para a versão final. Aguarde mais lançamentos em breve, com uma quantidade crescente de recursos, correções e funcionalidades.
A série MAD Skills continua rolando, com conteúdo técnico sobre Modern Android Development.
A próxima e última série do MAD Skills acaba de iniciar esta semana, com uma introdução à série de Ben Weiss:
WorkManager Basics: Caren Chang deu início ao conteúdo técnico com este episódio sobre conceitos básicos do WorkManager. Ela explica um exemplo em detalhes usando o WorkManager para embaçar uma imagem. Confira o codelab do WorkManager para ver o código.
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, que fornece acesso a todo o conteúdo.
Uma nova API acabou de estacionar na cidade: Biblioteca de apps do Android for Cars. Essa biblioteca Beta foi criada com base nos recursos no código fechado anterior com.google.android.libraries.car.app, mas agora é de código aberto e está disponível no AndroidX.
A API permite que você desenvolva apps de navegação, estacionamento e carregamento que são executados no Android Auto, simplificando o desenvolvimento ao oferecer modelos para atender aos padrões de distração do motorista e lidar com detalhes como diferentes formatos de tela e formas de entrada.
Leia o blog, confira o guia, use a biblioteca e conduza uma nova experiência do app.
No episódio final da série sobre o RecyclerView, Meghan Mehta mostra como implementar cabeçalhos para o RecyclerView usando o ConcatAdapter.
Get ahead using headers in RecyclerView
A programação com várias linhas de execução pode ser complexa, mas é importante fazer as coisas certas. Para os desenvolvedores do Kotlin, recomendamos o uso de corrotinas como uma forma mais fácil de escrever código de simultaneidade. Mas, caso você tenha pouca experiência com corrotinas ou esteja procurando orientações sobre como usá-las de forma correta e eficaz, há um novo documento a ser verificado.
Reunimos as práticas recomendadas sobre como desenvolver usando as corrotinas do Kotlin em um novo guia.
Publicamos outros episódios do Android Developers Backstage desde o último Now in Android. Confira o conteúdo nos links abaixo ou acesse seu cliente de podcast favorito.
Adoro nossos episódios de história no ADB, onde podemos conhecer os grandes e obscuros segredos sobre como e por que algumas coisas foram feitas. Desta vez, Tor, Romain e eu conversamos com Dan Bornstein, um dos primeiros engenheiros da equipe Android, bem antes da versão 1.0. Dan criou o tempo de execução Dalvik, o predecessor do atual Android Runtime (ART). Conversamos sobre algumas das decisões de design do Dalvik e sobre todos os aspectos tecnológicos envolvendo tempos de execução, coletores de lixo e desempenho.
Episódio 156: Android Runtime Classic (Dalvik)
Queremos saber a sua opinião! Desta vez, Tor Norbye, Romain Guy e eu falamos sobre o que faríamos (ou não) para melhorar o Android Developers Backstage.
Episódio 157: Audio feedback
Não deixe de participar da pesquisa para dizer o que você pensa!
Isso é tudo, por enquanto. Então, assista ao programa sobre o Jetpack Compose Beta e leia sobre todo o conteúdo novo e o código que compartilhamos. Aceite o desafio no #AndroidDevChallenge. Leia sobre e brinque com a primeira prévia para desenvolvedores do Android 12. Acesse o MAD para obter informações sobre o WorkManager na última série do MAD Skills. Confira a nova biblioteca de apps do Android for Cars. Leia sobre cabeçalhos nos contêineres do RecyclerView e sobre práticas recomendadas para corrotinas. Ouça o podcast do ADB mais recente. Em breve, voltaremos com a próxima atualização do universo dos desenvolvedores Android.
Tom Grinsted, gerente de produtos do Google Play
Hoje, no Google Play Console, lançamos um pacote de novas métricas e comparações exclusivas. Com elas, você pode avaliar tendências de engajamento e monetização de apps ou jogos, comparando-as com até 250 conjuntos diferentes de apps semelhantes para tomar decisões melhores e mais informadas sobre roteiros e oportunidades de produtos.
Seja para priorizar novos recursos a fim de promover o engajamento, experimentar preços ou elevar a retenção, ouvimos de todos os desenvolvedores que eles precisam de bons dados e insights para ajudar a fazer os melhores investimentos.
Embora alguns desenvolvedores maiores possam comparar dados de seus vários portfólios, isso nem sempre é possível, por exemplo, ao entrar em um novo território, se você não publicar apps diretamente comparáveis ou se publicar apenas um ou dois jogos, a princípio. Nesses casos, como saber se o desempenho do app ou do jogo é bom e onde você pode melhorar?
Com este lançamento, queremos ajudar todos os desenvolvedores a contextualizar e compreender melhor o desempenho. Estas são as novidades:
Em parceria com especialistas em expansão de apps e jogos para dispositivos móveis, introduzimos um novo conjunto de métricas de engajamento e monetização com base em práticas recomendadas para a avaliação de desempenho de apps e jogos. Veja o que isso inclui:
No total, estamos lançando 15 novas métricas normalizadas com comparações e também disponibilizando os denominadores e numeradores absolutos para consulta. Tudo isso pode ser encontrado na nova guia “Compare to peers” da página de estatísticas. Para mais conveniência, também incluímos outras métricas normalizadas importantes, como conversões de listagens de lojas.
Para aprimorar a tomada de decisões e ajudar você a descobrir áreas de oportunidade, todas essas novas métricas normalizadas estão sendo lançadas com o desempenho comparativo com apps semelhantes como padrão. Você pode monitorar métricas ao longo do tempo e comparar até 250 tipos diferentes de apps e jogos, como “jogos Match-3”, “Audiolivros” ou “Quadrinhos”.
Os filtros de países permitem personalizar esses insights de acordo com as suas necessidades de negócios. Por exemplo, você pode ver se jogos similares ao seu estão gerando mais receita de usuários do Japão ou se a atualização com recursos de sua equipe significa que o seu desempenho está melhor do que o de outros apps similares em termos de fidelidade na Índia.
Durante nosso processo de desenvolvimento, testamos esse pacote de novos insights com alguns parceiros. Além de útil para modelar nossa abordagem, o feedback deles foi positivo:
"Essas novas métricas e comparações ajudam a orientar nossa tomada de decisões. Não só em relação ao que devemos fazer com nossos jogos imediatamente, mas também a decisões estratégicas sobre jogos futuros. Para nós, esse já é um dos recursos mais valiosos do Play Console."
Guy Ulmer, Plarium Global Ltd.
Para ajudar você a aproveitar ao máximo essas novas métricas e insights, lançamos um novo curso na Academia do Google Play para deixar você a par das novidades. Veja também nossos webinars de masterclasses e saiba como turbinar sua expansão.
Os dados que habilitam essas novas métricas vêm de usuários que concordaram em compartilhar com o Google suas atividades nos apps e são modelados para representar melhor a população como um todo. Os dados simplesmente registram se um app está aberto em primeiro plano. Os usuários têm controle sobre os próprios dados e podem recusar seu compartilhamento ou excluir eventos individuais em myactivity.google.com.
Além disso, essas novas métricas para desenvolvedores são nossas primeiras a usar a privacidade diferencial, uma técnica avançada que oferece mais proteção da privacidade em todos os conjuntos de dados. Saiba mais sobre essa abordagem em nosso blog técnico.
Assim como nos lançamentos de comparações anteriores, todas as métricas de comparação com apps semelhantes vêm com proteções para a privacidade dos desenvolvedores. Os dados são gerados a partir de um grande número de apps e jogos, e os grupos de apps semelhantes, gerenciados pelo sistema avançado de inclusão de tag do Play Store, não compartilham o desempenho de apps individuais. Assim, embora você encontre comparações confiáveis, úteis e de alta qualidade com apps semelhantes, nós trabalhamos para obscurecer o desempenho de qualquer aplicativo individual da concorrência dos conjuntos de apps semelhantes que você visualiza e também para obscurecer o desempenho dos seus aplicativos nos conjuntos de apps semelhantes.
Este é o primeiro lançamento de um projeto de vários anos para levar mais insights úteis e recomendações ativas para o Google Play Console. Os maiores desenvolvedores de apps para dispositivos móveis costumam usar consultorias de expansão para ajudar a informar suas decisões estratégicas de produtos no longo prazo. Estamos nos dedicando a levar esse tipo de ajuda e experiência para todos os desenvolvedores do Play por meio do console. Então, fique ligado nos lançamentos ao longo do próximo ano!
Esta postagem do blog foi útil para você?
★ ★ ★ ★ ★
Publicado por: Hoi Lam, qualidade de apps Android
Desde o lançamento do Android, há mais de dez anos, a plataforma e as expectativas do usuário aumentaram. Ocorreram melhorias de experiência do usuário com o Material Design, na importância da privacidade, além de avanços nessa área. Nós sabemos que você deseja que os aplicativos ofereçam uma excelente experiência do usuário. Ao mesmo tempo, também sabemos que nem sempre fica claro qual área devemos abordar primeiro. É por esse motivo que estamos lançando uma nova seção de Qualidade de apps em nosso site para desenvolvedores a fim de ajudar a manter você atualizado sobre os principais aspectos da qualidade de apps e oferecer recursos relacionados.
Na primeira versão, atualizamos a lista de verificação de qualidade principal do aplicativo, que leva em consideração as versões mais recentes do Android, assim como as tendências atuais do ecossistema de apps. Estes são alguns destaques dessa atualização:
No futuro, pretendemos atualizar essa lista trimestralmente para garantir que ela esteja sempre em dia. Também vamos atualizar as listas de verificação de qualidade para outros formatos.
Estamos trabalhando em ferramentas e práticas recomendadas adicionais para facilitar a criação de aplicativos de qualidade no Android. Mal podemos esperar para apresentar essas novas melhorias a você. Fique ligado!
Postado por Anna-Chiara Bellini, gerente de produtos, e Nick Butcher, relacionamentos com desenvolvedores
Hoje, estamos lançando a versão Beta do Jetpack Compose, nosso novo kit de ferramentas de IU projetado para agilizar e facilitar a criação de apps nativos em todas as plataformas Android. O Compose oferece APIs do Kotlin modernas e declarativas, ajudando na criação de apps bonitos e responsivos com muito menos código. Criado para integrar-se a apps Android e bibliotecas do Jetpack existentes, o Compose pode ser adotado no seu próprio ritmo, combinando Visualizações do Android e o Compose.
Com esta versão Beta, o Compose tem todas as APIs e todos os recursos necessários para você criar apps prontos para a produção. A versão Beta também significa estabilidade de APIs, portanto, não haverá mudanças nem remoção de APIs. Esta é uma ótima oportunidade para começar a aprender a trabalhar com o Compose e se planejar para utilizá-lo em um próximo projeto ou recurso, quando ele estiver na versão 1.0, ainda este ano.
Nossa equipe tem desenvolvido o Compose abertamente, com feedback e participação da comunidade. Desde o desenvolvimento em código aberto, em 2019, tivemos 30 versões públicas, resolvemos mais de 700 bugs externos e aceitamos mais de 200 contribuições externas. Adoramos ver o que vocês têm criado com o Compose e utilizamos o feedback e as solicitações de recursos de vocês para refinar nossas APIs e priorizar nosso trabalho. Desde a versão Alfa, já adicionamos e melhoramos diversos recursos novos:
Na versão Beta, nos concentramos em garantir a integridade da API, ou seja, em ter todas as APIs de base para continuar o desenvolvimento para chegar à versão 1.0 e posteriores. Trabalharemos na estabilização dessas APIs até nossa versão 1.0 com foco especialmente no desempenho e na acessibilidade dos apps.
O Compose Beta tem o suporte da última versão Canário do Android Studio Arctic Fox, que traz muitas ferramentas novas:
🆕 Visualização de animações: inspecione e reproduza animações
🆕 Suporte ao Compose no Layout Inspector
🆕 Visualização interativa: inspecione e interaja com uma composição isoladamente
🆕 Implantação de visualização: para implantar uma composição no dispositivo sem a necessidade de um app completo
Literais em tempo real no Android Emulator
Layout Inspector para Jetpack Compose
O Jetpack Compose foi elaborado para funcionar perfeitamente com as Visualizações do Android, por isso, você pode adotá-lo em seu próprio ritmo. É possível incorporar IUs do Compose a Visualizações do Android e usar essas Visualizações dentro do Compose. Detalhamos várias estratégias de adoção em nossa documentação de interoperabilidade.
Além da interoperabilidade com as Visualizações, fizemos a integração com bibliotecas comuns para ajudar você a adicionar o Compose aos apps existentes sem a necessidade de reescrevê-los nem rearquitetá-los. Oferecemos integrações com:
As bibliotecas MDC-Android Compose Theme Adapter e Accompanist fornecem integrações com os temas XML do Material e do AppCompat para que não seja preciso duplicar as definições de temas. O Accompanist também oferece wrappers para bibliotecas de carregamento de imagens comuns.
O Jetpack Compose é um kit de ferramentas de IU declarativo, uma mudança de paradigma do atual sistema de Visualização, no qual você descreve qual deve ser a aparência da IU para um determinado estado de aplicativo, não como produzi-la. O Compose assume a atualização da IU quando o estado do app muda, para que você não tenha que manipular a IU para o estado desejado, o que pode ser tedioso e propenso a erros.
Criado inteiramente em Kotlin, o Compose beneficia-se dos ótimos recursos da linguagem para oferecer APIs potentes, sucintas e intuitivas. As corrotinas, por exemplo, nos permitem escrever APIs assíncronas muito mais simples para descrever gestos, animações ou rolagens. Isso facilita a escrita de código que combina eventos assíncronos, como um gesto que traz uma animação, tudo com cancelamento e limpeza fornecidos pela simultaneidade estruturada.
Para ajudar você e sua equipe a aprender a trabalhar com o Jetpack Compose, atualizamos nosso programa de aprendizado com uma lista selecionada de vídeos, codelabs práticos e documentos essenciais para dar os primeiros passos. Hoje, estamos lançando guias de documentação novos e atualizados, vários screencasts e um novo codelab sobre animação para ajudar você a se aprofundar na criação com o Compose. De orientações sobre arquitetura, acessibilidade e testes até visões aprofundadas de animação, listas ou trabalho com o Compose, temos guias para ajudar você a se especializar.
Também oferecemos oito amostras oficiais de aplicativos, se você quiser ver diretamente o Compose em ação. Temos amostras simples a complexas, cada uma com diferentes APIs e casos de uso. Confira o leiame para obter mais detalhes.
Se estiver pronto para começar a trabalhar com o Compose e ainda quiser ganhar alguns prêmios, confira o #AndroidDevChallenge. Nas próximas quatro semanas, teremos desafios semanais criados para que você tenha seus próprios insights do Jetpack Compose e o aplique rapidamente a seus projetos. Concorra a novos prêmios a cada desafio. São mais de mil prêmios, incluindo um Google Pixel 5. Saiba mais sobre o primeiro desafio semanal, que começa hoje, clicando aqui.
Com o Jetpack Compose na versão Beta, com APIs estáveis e repleto de recursos para a versão 1.0, esta é uma ótima oportunidade para começar a aprender a trabalhar com o Jetpack Compose e se planejar para utilizá-lo em um projeto futuro. Adoraríamos receber seu feedback sobre a adoção do Compose nos apps, e você também pode participar da discussão no canal #compose do Kotlin Slack.