Dúvidas frequentes

Android
Git
Kotlin
Não é possível fazer a instalação do HAXM

A primeira etapa para a instalação do HAXM é seu processador ser capaz de virtualizar processos. Se seu processador não possui essa funcionalidade (virtualização), sem problemas, você pode somente criar o emulador no Android Studio e rodar normalmente. Processadores Intel possuem a funcionalidade de virtualização.

Se seu processador é Intel e mesmo assim a instalação acusa que não é possível, seu antivírus pode estar impedindo (tente desabilitar momentaneamente) ou sua placa mãe está com a opção desabilitada. Vá até a BIOS durante o boot do computador e habilite a virtualização.

Se você já estiver utilizando uma máquina virtual, seu emulador já está sendo virtualizado, não é necessário instalar.

Criei um projeto e está usando ConstraintLayout

A partir do Android Studio 2.3.1, todo novo projeto criado faz uso do ConstraintLayout. Essa mudança faz parte de uma estratégia em padronizar o uso dos layouts para Constraint.

Para acompanhar as aulas do curso basta trocar o Layout da activity para LinearLayout ou RelativeLayout. Os conceitos continuam válidos e esses Layouts não serão descontinuados, ou seja, podem ser usados sem problema algum nos projetos atuais.

Erro: java.lang.NullPointerException

O erro mais comum da programação Java. Algum método ou propriedade foi acessada sem que a variável tenha sido instanciada.

Uma vez que esse erro possui várias soluções, a melhor coisa a fazer é analisar o erro que o Android Studio está apresentando no logcat e navegar até a linha. Uma vez encontrado o ponto onde o erro ocorreu, rodar o projeto em modo debug para ver qual a variável e momento exato para então resolver.

Android Studio e Emulador ocupando muita memória

Android Studio e Emulador quando rodando juntos ocupam cerca de 4GB de mmemória RAM. Eles são softwares pesados que necessitam de processamento forte e memória. Este é o comportamento esperado.

Conversão desnecessária ao usar findViewById (casting redundant)

A partir da API 26 e do Android Studio 3.0, não é mais necessário fazer a conversão do tipo de elemento ao usar findViewById. Atualmente as aulas do curso possuem esse código, pois foi gravado antes das versões descritas acima.

Erro ao visualizar a preview do layout

Nestes casos, é quase certo de que existe algum elemento no layout que não está escrito corretamente. Procure por notificações em vermelho no XML, certifique-se de que todos os elementos foram fechados corretamente.

O curso possui certificado?

Cursos gratuítos não possuem certificados, somente os pagos. Essa é uma limitação da plataforma Udemy.

Android Iniciante não possui certificado, enquanto Android Intermediário possui.

Algumas aulas são gravadas no Windows, mas eu tenho um Mac/Linux

Os conceitos dentro do Android Studio são iguais independente da plataforma que você está usando para desenvolver.

O único momento em que "muda" são as instalações, porém essas possuem aulas separadas para cada um dos sistemas operacionais.

Qualidade do vídeo baixa

Infelizmente o problema de qualidade pode ocorrer devido a velocidade da internet ou do processamento da plataforma no momento. Os vídeos são enviados usando resolução Full HD (1920x1080), porém são renderizados novamente na plataforma para não onerar na distribuição do conteúdo.

Posso rodar a aplicação em um dispositivo físico? No meu celular?

Pode sem problemas! Esse é o melhor cenário onde sua aplicação vai rodar mais rápido do que qualquer emulador.

Basta conecta o celular no computador que o Android Studio disponibiliza a opção no momento de rodar a aplicação. Então basta escolher o dispositivo físico.

Posso usar Java e Kotlin no mesmo projeto?

Sim! A linguagem Kotlin é compilada para bytecode que é a mesma linguagem de máquina para qual Java também é compilada. Assim, Kotlin e Java se comportam da mesma maneira após a compilação e também quer dizer que se comunicam muito bem.

Algumas aulas são gravadas no Windows, mas eu tenho um Mac/Linux

Os conceitos do Git são independentes de sistema operacional. Você pode aprender os comandos em Windows e executar em Linux. Ou aprender em Linux e executar em Windows, não existe diferença.

Posso abrir a janela de comando "git bash" no Linux ou Mac?

Infelizmente, o git bash com cores e formatação só está disponível no Windows. Apesar dos comandos e conceitos serem os mesmos, essa ferramenta mais "gráfica" só está disponível no Windows.

Criei / clonei um repositório e já apareceu o nome "master"

Ao criar um repositório, master é a primeira branch criada por padrão. É uma convenção que a branch master seja a principal do projeto, embora não seja obrigatório.

Ao clonar um repositório, a não ser que seja explicitamente configurado, a primeira branch a ser clonada para a máquina local é sempre a master.

Qual a diferença entre os comandos "git checkout" e "git reset"?

Ambos git checkout e git reset tem o poder de desfazer alterações, porém com pequenas diferenças.

Quando executamos "git checkout" em um arquivo, estamos voltando ele para a versão que a sua branch está, em outras palavras o estado original dele, mas caso esse arquivo tenha sido adicionado recentemente, ele não possui um estado anterior. O mesmo caso se aplica quando fazemos um "git add" em um arquivo e tentamos o checkout, não existe versão anterior, o que faz com que o comando também não funcione.

Se por um acaso, modificarmos um arquivo já comitado e fizermos um git checkout, aí sim estaremos voltando a versão dele para a anterior a modificação e o comando (checkout) funciona.

No caso do git reset, precisamos que o arquivo já esteja mapeado para que o comando funcione, em outras palavras, precisamos adicionar esse arquivo (git add) para então fazer o git reset --hard e desafazermos todas essas modificações, voltando a nossa branch inteira para o estado inicial. Os arquivos são descartados mesmo que não possuam versões anteriores, diferente do checkout.