Aprendizado com Kotlin e Android
Comecei com uma ideia simples de criar um aplicativo gratuito para reunir recursos de proteção, informação e organização. Durante o desenvolvimento, aprendi Kotlin, Jetpack Compose, Activities, permissões, intents, serviços do Android e APIs do sistema. Entendi que desenvolver para Android envolve considerar diferentes versões, permissões e comportamentos. Por exemplo, o aplicativo utiliza recursos que dependem de permissões de localização, contatos, telefone e microfone, o que me fez entender melhor como o Android controla o acesso aos recursos do dispositivo.

Desenvolvimento de Aplicativo Android do Zero aos 15 Anos: Aprendizado e Experiências

Recursos Físicos do Smartphone
O aplicativo também utiliza sensores e APIs do dispositivo, como movimento, inclinação, áudio, localização, brilho da tela e biometria. Isso me fez perceber que um smartphone é muito mais do que uma tela para exibir informações. Existem diversos sensores e APIs disponíveis, mas utilizar corretamente exige pensar em consumo de bateria, permissões, precisão, compatibilidade e comportamento em diferentes situações.

Segurança
Aprendi sobre segurança, incluindo autenticação biométrica para proteger determinadas áreas e mecanismos do próprio Android para impedir que determinadas telas sejam capturadas. Também aprendi que segurança não é apenas colocar uma senha. É necessário pensar em onde os dados ficam armazenados, quais informações realmente precisam ser armazenadas, quem pode acessar determinada informação, quais permissões são necessárias, o que acontece quando uma autenticação falha e como o aplicativo deve se comportar quando algo inesperado acontece.

Localização e Comunicação
O aplicativo pode obter a localização atual do dispositivo e utilizá-la em funções de emergência. Isso me obrigou a aprender sobre APIs de localização, permissões em tempo de execução, precisão e tratamento de situações em que a localização não está disponível. Também aprendi que uma funcionalidade aparentemente simples pode envolver várias partes diferentes do sistema operacional.

Git e GitHub
O projeto também me fez aprender Git de verdade. Comecei com Git como uma ferramenta para salvar versões do código, mas com o crescimento do projeto, comecei a utilizar branches, commits, releases, histórico completo, workflows e automações. Hoje, o GitHub não é apenas onde o código fica hospedado, ele participa de boa parte do processo de desenvolvimento.

CI/CD
Aprendi CI/CD, criando workflows do GitHub Actions para automatizar tarefas como compilação do aplicativo, geração do APK, assinatura, criação de artefatos, atualização de arquivos, publicação do site, auditorias e geração de informações do projeto. Isso mudou minha maneira de pensar sobre desenvolvimento, permitindo que eu transforme parte desse processo em workflows automatizados.

Práticas Operacionais
Para quem está começando a desenvolver aplicativos Android, aqui estão algumas boas práticas: comece com uma ideia clara e simples, aprenda com cada erro e teste constantemente. Utilize ferramentas como Git e GitHub para gerenciar o processo de desenvolvimento e automatizar tarefas. E, acima de tudo, tenha em mente que desenvolver para Android é uma jornada de aprendizado contínuo, envolvendo compreensão de diferentes aspectos do sistema e a necessidade de manter-se atualizado com as melhores práticas e tecnologias.

Android Anos Aplicativo Aprendizado Zero