Como desenvolvedor para dispositivos móveis, você geralmente desenvolve a interface do seu app passo a passo, em vez do que desenvolver tudo de uma vez. O Android Studio usa essa abordagem com o Jetpack Compose, fornecendo ferramentas que não exigem um build completo para inspecionar, modificar valores e verificar o resultado final.
Edição em tempo real
A Edição em tempo real é um recurso que permite atualizar elementos combináveis em emuladores e dispositivos físicos em tempo real. Essa funcionalidade minimiza as mudanças de contexto entre a programação e o desenvolvimento do app, permitindo que você se concentre em escrever código por mais tempo sem interrupções.
A Edição em tempo real tem três modos:
- Manual: as mudanças de código são aplicadas quando são enviadas manualmente usando Ctrl+' (Command+' no macOS).
- Manual no salvamento: as mudanças de código são aplicadas quando salvas manualmente usando Ctrl + S (Command + S no macOS).
- Automática: as mudanças são aplicadas no dispositivo ou emulador quando você atualiza um função combinável.
O recurso de Edição em tempo real se concentra em mudanças no código relacionadas a IU e UX. Ele não oferece suporte a mudanças como atualizações de assinatura de método, adição de novos métodos ou mudanças na hierarquia de classes. Para saber mais, consulte a lista de Limitações do recurso Edição em tempo real.
Esse recurso não substitui a criação e execução do app ou o recurso Aplicar mudanças. Em vez disso, ele foi projetado para otimizar o fluxo de trabalho durante a criação, implantação e iteração para desenvolver a interface do Compose.
Confira as práticas recomendadas de fluxo de trabalho:
- Configure o aplicativo para que ele possa ser executado.
- Use a Edição em tempo real o máximo possível, até que seja necessário fazer uma mudança sem suporte desse recurso. Por exemplo: adicionar novos métodos enquanto o app estiver em execução.
- Depois de fazer uma mudança sem suporte, clique em Run para reiniciar no app e retomar a Edição em tempo real.
Como fazer a Edição em tempo real
Para começar, siga estas etapas para criar uma atividade vazia do Compose: ative Use a Edição em tempo real para fazer mudanças no projeto.
Configurar o novo projeto
Antes de começar, verifique se você tem o Android Studio Giraffe ou uma versão mais recente. instalada e se o nível da API do sistema dispositivo ou emulador for pelo menos 30.
Abra o Android Studio e selecione New Project no pop-up Welcome to Android Studio. Se você já tem um projeto aberto, pode criar um novo em File > New > New Project.
Escolha o modelo Empty Compose Activity para Phone and Tablet e clique em Next.
Preencha a caixa de diálogo New Project com as informações necessárias: nome, nome do pacote, local para salvar, SDK mínimo e idioma de configuração do build.
Clique em Finish.
Ativar o recurso Edição em tempo real
Acesse as configurações para ativar a Edição em tempo real.
- No Windows ou no Linux, acesse File > Settings > Editor > Live Edit.
- No macOS, acesse Android Studio > Settings > Editor > Live Edit.
Selecione a opção Live Edit e o modo que você quer executar nas configurações.
No modo manual, as mudanças de código são enviadas sempre que você pressiona Ctrl+' (Command+' no macOS). No modo manual de salvamento, as mudanças de código são aplicadas sempre que você salva manualmente, usando Ctrl + S (Command + S no macOS). No modo automático, as mudanças de código são aplicadas no dispositivo ou emulador conforme você faz as mudanças.
No editor, abra o arquivo
MainActivity
, que é o ponto de entrada do app.Clique em Run para implantar o app.
Depois que você ativa a Edição em tempo real, a marca de seleção verde Atualizado aparece na No canto superior direito da janela de ferramentas Running Devices:
Fazer e revisar mudanças
À medida que você faz mudanças com suporte no editor, o dispositivo de teste virtual ou físico é atualizado automaticamente.
Por exemplo, edite o método Greeting
em MainActivity
para o
seguinte:
@Composable fun Greeting(name: String) { Text( text = "Hello $name!", Modifier .padding(80.dp) // Outer padding; outside background .background(color = Color.Cyan) // Solid element background color .padding(16.dp) // Inner padding; inside background, around text) ) }
As mudanças feitas aparecem instantaneamente no dispositivo de teste, conforme mostrado na Figura 4.
Resolver problemas do recurso Edição em tempo real
Se as edições não aparecerem no dispositivo de teste, talvez o Android Studio tenha falhado para atualizar suas edições. Verifique se o indicador "Live Edit" mostra Out Of Date (desatualizado), como na Figura 5, que indica um erro de compilação. Para saber mais sobre o erro e receber sugestões para resolvê-lo, clique no indicador.
Limitações do recurso Edição em tempo real
Veja abaixo uma lista das limitações atuais.
[Aplicável apenas ao Android Studio Giraffe e versões mais recentes] A Edição em tempo real requer o Compose Runtime. versão 1.3.0 ou mais recente. Se o projeto usa uma versão anterior do Compose, a Edição em tempo real é desativado.
[Apenas para o Android Studio Giraffe e versões mais recentes] A Edição em tempo real requer o AGP 8.1.0-alpha05 ou mais recente. Caso seu projeto use uma versão anterior do AGP, a Edição em tempo real é desativada.
A Edição em tempo real exige um dispositivo físico ou emulador que esteja executando o nível da API 30 ou mais.
A Edição em tempo real só oferece suporte à edição de um corpo de função, ou seja, não é possível mudar o nome ou a assinatura da função, adicionar ou remover uma função ou mudar campos que não sejam de função.
A Edição em tempo real redefine o estado do app na primeira vez que você muda uma função do Compose em um arquivo. Isso só acontece após a primeira mudança de código. O estado do app não é redefinidas por mudanças de código subsequentes feitas nas funções do Compose nesse arquivo.
As classes modificadas na Edição em tempo real podem ter problemas de performance. Execute o app e use um build de lançamento limpo se estiver avaliando a performance dele.
É necessário executar uma execução completa para que o depurador funcione nas classes modificados com a Edição em tempo real.
Um app em execução pode falhar quando você usa a Edição em tempo real. Se isso acontecer, você pode reimplantar o app com o botão Run .
A Edição em tempo real não faz nenhuma manipulação de bytecode definida no arquivo de build do projeto. Por exemplo, as manipulações de bytecode que seriam aplicadas na criação do projeto usando as opções no menu Build ou clicando nos botões Build ou Run.
As funções não combináveis são atualizadas em tempo real no dispositivo ou emulador, e uma a recomposição completa é acionada. A recomposição completa pode não invocar a função atualizada. Para funções não combináveis, é necessário acionar as funções recém-atualizadas ou executar o app novamente.
A Edição em tempo real não é retomada após a reinicialização do app. Execute o app novamente.
A Edição em tempo real só oferece suporte a processos depuráveis.
A Edição em tempo real não oferece suporte a projetos que usam valores personalizados para
moduleName
emkotlinOptions
na configuração do build.A Edição em tempo real não funciona com implantações múltiplas. Isso significa que não é possível implantar em um dispositivo e depois em outro. A Edição em tempo real só está ativa nestes dispositivos o último conjunto de dispositivos em que o app foi implantado.
A Edição em tempo real funciona com implantações em vários dispositivos dispositivos criados em Selecionar vários dispositivos no destino lista suspensa de dispositivos. No entanto, ela não tem suporte oficial e pode apresentar problemas. Se você tiver problemas, informe-os.
Esse recurso não é compatível com a Edição em tempo real e exigem a reinicialização do app em execução.
No momento, a Edição em tempo real não oferece suporte a projetos do Android Automotive.
Perguntas frequentes sobre o recurso Edição em tempo real
Qual é o status atual da Edição em tempo real?
A Edição em tempo real está disponível no Android Studio Giraffe. Para ativar esse recurso, acesse File > Settings > Editor > Live Edit (Android Studio > Settings > Editor > Live Edit no macOS).
Quando devo usar a Edição em tempo real?
Use a Edição em tempo real quando quiser conferir rapidamente o efeito das atualizações na UX elementos (como atualizações de modificadores e animações) no app geral do usuário.
Quando devo evitar a Edição em tempo real?
O recurso de Edição em tempo real se concentra em mudanças no código relacionadas a IU e UX. Não suporta alterações, como atualizações de assinatura de métodos, adição de novos métodos ou mudanças na hierarquia. Para mais informações, consulte Limitações da transmissão ao vivo Editar.
Quando devo usar a visualização do Compose?
Use a Visualização do Compose ao desenvolver elementos combináveis. A visualização mostra os elementos do Compose e é atualizada automaticamente para mostrar o efeito das mudanças de código. A visualização também suporta a visualização de elementos da interface em diferentes configurações e estados, como tema escuro, localidades e fonte escala.
Edição em tempo real de literais (descontinuado)
O Android Studio pode atualizar, em tempo real, literais constantes usados em elementos combináveis nas visualizações, no emulador e no dispositivo físico. Veja alguns tipos compatíveis:
Int
String
Color
Dp
Boolean
É possível ativar as decorações de literais no recurso "Live Edit" do indicador de literais da interface para acessar literais constantes que acionam atualizações em tempo real, sem a etapa de compilação:
Apply Changes
Apply Changes permite atualizar código e recursos sem precisar reimplantar o app em um emulador ou dispositivo físico, limitações).
Sempre que você adicionar, modificar ou excluir elementos combináveis, poderá atualizar o app sem sem precisar reimplantá-lo clicando no botão Apply Code Changes:
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Personalizar animações {:#customize-animations}
- Animações com base no valor
- Adicionar parâmetros