Tutorial para Android: Como desenvolver um aplicativo para Android

Atualmente, o desenvolvimento do Android é todo o hype, pois continua a dominar o mundo do desenvolvimento móvel. Projetos divertidos, ótimos salários e toneladas de perspectivas de emprego são apenas algumas das razões pelas quais os desenvolvedores estão iniciando suas jornadas no emocionante mundo do sistema operacional Android. Alguns especialistas dizem que nunca houve um momento melhor para aprender as habilidades do Android, especialmente desde as atualizações recentes, como a adição do Kotlin e melhorias nas políticas do Google.

Se você está pensando em começar sua jornada com o Android ou está curioso sobre o que o Android tem a oferecer, você está no lugar certo! Hoje, mostraremos todos os conceitos básicos do desenvolvimento do Android e até mostraremos como criar seu próprio aplicativo funcional.

Aqui está o que abordaremos hoje:

  • O que é o Android
  • Ferramentas de desenvolvimento Android
  • Como desenvolver um aplicativo Android
  • Recursos para desenvolvimento de aplicativos Android

O que é o Android?

O Android é um dos sistemas operacionais mais populares do mundo, desde dispositivos móveis 5G a aplicativos móveis, smartphones e tablets com tela sensível ao toque. Este software de código aberto baseado em Linux é usado pelo Google para alimentar mais de 2,5 bilhões de dispositivos em todo o mundo, representando mais de 80% das vendas de smartphones.

O Android é baseado no kernel do Linux, o que significa que a estrutura operacional básica é portátil, multiusuário e capaz de lidar com multitarefa complexa. Uma das maiores vantagens do Android é a liberdade de escolha que acompanha a tecnologia. O hardware não é apenas mais diversificado, mas o software é muito flexível e personalizável.

O mercado para o desenvolvimento do Android está crescendo à medida que mais e mais fabricantes, incluindo Samsung, Lenovo, HTC e LG, recorrem ao Android para alimentar seus produtos. Isso significa que há uma enorme demanda por desenvolvedores do Android em todo o mundo em diversos setores e empresas! Além disso, as novas políticas da Google Play Store são o mercado de desenvolvimento de aplicativos muito mais lucrativo. Aprender as habilidades do Android abrirá portas e fará de você um desenvolvedor desejável em todos os aspectos.

Ferramentas de desenvolvimento Android

Começar como desenvolvedor Android é mais fácil do que você imagina; você precisará dominar algumas habilidades e ferramentas básicas, como:

  • Habilidades de linguagem de programação (Java, Kotlin e Groovy)
  • XML
  • Sistema de compilação Android
  • IDE do Android Studio

Habilidades de linguagem de programação

Existem três linguagens de programação e uma linguagem de marcação usadas no desenvolvimento do Android.

Java é a linguagem oficial para o desenvolvimento do Android e uma das linguagens de programação mais populares do mundo. As classes Java são executadas no Android Runtime (ART), uma máquina virtual especializada. Veja este exemplo no arquivo Android MainActivity.java.

O Kotlin é o segundo idioma oficial para o desenvolvimento do Android desde 2017. Conhecido por ser muito mais conciso e expressivo, o Kotlin ajuda a aliviar algumas das desvantagens do Java. Aqui está um exemplo do código acima no Kotlin para que você possa comparar.

Se você quiser saber mais sobre o Kotlin, dê uma olhada no nosso artigo aqui para acompanhar o básico.

XML, uma linguagem de marcação, é comumente usada no desenvolvimento do Android para declarar um layout para interface do usuário (UI), dimensões e seqüências de caracteres. Veja este exemplo de layout que mostra o texto no meio da tela do usuário.

Sistema de compilação Android

Gradle potencializa o sistema de automação de construção do Android e expande os conceitos do Apache Maven e Apache Ant, introduzindo uma linguagem específica de domínio baseada em Groovy. Groovy é uma linguagem dinâmica, opcionalmente digitada, com recursos de digitação estática. Ajuda a melhorar a produtividade e a velocidade, integrando-se ao seu programa baseado em Java. Com a facilidade de Groovy e o ecossistema maduro de Gradle, você pode automatizar seu software e fornecer versões muito mais rápidas.

IDE do Android Studio

O Android Studio IDE é seu novo melhor amigo para o desenvolvimento do Android. Baseado no IntelliJ IDEA, é o ambiente de desenvolvimento oficial do sistema operacional do Google. Ele vem com excelentes ferramentas específicas do Android para atender todas as suas necessidades. O uso desse IDE acelerará o tempo de desenvolvimento e atualizações frequentes significam que você nunca ficará para trás. Ele vem carregado com os seguintes recursos, entre muitos outros:

  • Analisadores de perfil e analisadores em tempo real
  • Sistema de construção flexível
  • Editor de código inteligente
  • Editor de layout visual
  • Emulador rápido

Android SDK

O Android SDK é o kit de desenvolvimento oficial para o desenvolvimento de aplicativos para Android. Ele é composto por pacotes modulares que podem ser baixados separadamente do Android SDK Manager, incluindo a ferramenta SDK, a API do Google, o suporte ao Android, o Android Debug Bridge (ADB) e muito mais. Assim como o IDE, o Android SDK está sempre sendo atualizado. Os novos lançamentos o manterão atualizado com os recursos mais recentes.

Como desenvolver um aplicativo Android

Java para Android

Quando se trata de criar aplicativos Android, seu conhecimento de Java é fundamental para o seu sucesso. Java é a linguagem oficial para o desenvolvimento de aplicativos Android e suporta todas as ferramentas Android. O conhecimento desse idioma tornará a experiência do desenvolvedor muito mais fácil.

O Java foi escolhido para o desenvolvimento do Android por ser bem conhecido, bem suportado por ferramentas de desenvolvimento e já difundido no setor de telefonia móvel. Além disso, o Java é executado em uma VM, portanto, não precisa ser recompilado.

Antes de iniciar sua jornada de desenvolvimento para Android, você precisa se familiarizar com o Java. Se você deseja iniciar o Java, consulte os cursos gratuitos do Educative.

Instale o IDE do Android Studio

Para começar o desenvolvimento do Android, você precisa instalar o Android Studio IDE. Essa interface fácil de arrastar e soltar é o ambiente oficial de desenvolvimento do IDE. Ele foi desenvolvido especificamente para aplicativos Android de alta qualidade. Esse IDE acelerará o tempo de desenvolvimento e tornará seus aplicativos muito mais confiáveis ​​e fáceis de atualizar quando novos recursos forem lançados.

Para instalar o Android Studio no Windows, siga estas etapas.

  1. Visite este link para obter a versão mais recente do Android Studio.
  2. Você pode fazer o download do IDE como um arquivo .exe ou um arquivo .zip. Para o arquivo .exe, clique duas vezes no arquivo para iniciá-lo. Para o arquivo .zip, descompacte o ZIP e copie a pasta android-studio para seus arquivos de programa.
  3. Isso solicitará que você abra e inicie o android-studio> binfolder.
  4. Uma vez solicitado, siga o assistente de configuração do Android Studio, onde você pode selecionar seus pacotes SDK.

Para instalar o Android Studio no Mac, siga estas etapas.

  1. Visite este link para obter a versão mais recente do Android Studio.
  2. Após o download, inicie o arquivo DMG e arraste-o para a pasta Aplicativos.
  3. Inicie o Android Studio. A partir daqui, você pode iniciar um novo projeto ou importar configurações anteriores.
  4. Siga as instruções do assistente de instalação para selecionar seus componentes do SDK.
Se você não está pronto para fazer o download do Android Studio IDE, também pode conferir o curso do Educative com um widget Andoird pré-configurado exclusivo

Criando um aplicativo Hello World

Etapa 1: estrutura de um aplicativo Android

Agora que temos nosso IDE, como realmente criamos um projeto Android? Primeiro, vejamos a estrutura de um projeto típico do Android.

app - pasta do módulo raiz

  • build.gradle - arquivo de configuração do módulo
  • src / main / AndroidManifest.xml - arquivo de manifesto do módulo
  • src / main / java - pasta de origem do módulo para arquivos Java ou Kotlin
  • src / main / res - pasta de recursos do módulo

build.gradle - arquivo de configuração do projeto

gradle, gradle.properties, gradlew, gradlew.bat - arquivos relacionados a Gradle para criar um projeto Android

settings.gradle - arquivo de configurações do projeto

Arquivos de Projeto

O arquivo settings.gradle contém uma lista de seus módulos e nome do projeto. Lembre-se de que um projeto Android pode consistir em um ou vários módulos, cada um com seu próprio recurso ou lógica. O arquivo gradle.properties define suas configurações e configura um ambiente de construção.

Os arquivos gradle, gradlew e gradlew.bat estão relacionados ao wrapper Gradle, portanto, não precisamos instalar manualmente o Gradle.

build.gradle é um arquivo de construção de nível superior. Aqui podemos adicionar opções de configuração compartilhadas por todos os módulos. Por exemplo, você pode conceder aos seus arquivos acesso aos repositórios para as principais funcionalidades do Android.

Arquivos de módulo

Cada módulo tem um nome único, onde colocamos o código fonte do aplicativo. O arquivo build.gradle do módulo contém apenas as configurações relacionadas a este módulo, como:

  • compileSdkVersion - a versão do Android SDK para compilar o projeto
  • minSdkVersion - a versão Android mínima suportada
  • targetSdkVersion - a versão de destino do Android SDK, usada para dizer ao sistema para ativar comportamentos de compatibilidade
  • applicationId - identificador exclusivo do aplicativo no dispositivo e na Google Play Store
  • versionCode - um número de versão interno
  • versionName - o nome da versão exibido para os usuários
  • compileOptions - opções de compilação para obter alguns recursos do Java 1.8
  • dependências - dependências da biblioteca de terceiros e de terceiros, discutidas nas próximas lições

O AndroidManifest.xml é o local em que declaramos nossos principais componentes. Por exemplo, um arquivo de manifesto para um blog de viagem pode conter o seguinte:

  • package - o nome do pacote do aplicativo, no nosso caso com.travelblog
  • theme - o tema do aplicativo global, no nosso caso o tema MaterialComponents
  • label - o rótulo usado como um valor para o ícone do aplicativo
  • atividade - a atividade, atualmente só temos uma MainActivity

Todos os arquivos relacionados a recursos precisam ser colocados dentro de subpastas predefinidas da pasta src / main / res. Uma subpasta, por exemplo, é a pasta de layout para todos os seus arquivos de layout. Também teremos a pasta src / main / java para o nosso código-fonte Java.

Etapa 2: bibliotecas do Android

Uma parte importante da criação do seu aplicativo são os recursos e ferramentas exclusivos que você adiciona a ele. É aí que as bibliotecas entram em cena. Uma biblioteca é uma coleção de recursos pré-gravados que podem ser adicionados ao seu aplicativo. O ecossistema de bibliotecas do Android é grande e você pode usar dezenas de bibliotecas em um único projeto. Você pode acessar a maioria das bibliotecas Android através do maven.

É fácil adicionar uma biblioteca ao seu projeto: declare o ID do grupo, o ID do artefato e a versão na seção dependências do seu arquivo app / build.gradle.

Aqui estão algumas das bibliotecas mais populares em uso hoje:

  • appcompat - faz com que os aplicativos desenvolvidos com versões mais recentes funcionem com versões mais antigas
  • restrição de restrição - permite criar layouts grandes e complexos com uma hierarquia de visualização plana
  • material - traz componentes de design de material para o Android
  • retrofit - uma biblioteca de cliente HTTP com segurança de tipo
  • moshi - uma biblioteca de analisadores JSON
  • glide - uma biblioteca de carregamento de imagens
  • room - um banco de dados oficial do Android ORM
  • punhal - uma estrutura estática de injeção de dependência em tempo de compilação

Appcompat

A biblioteca appcompat é ótima para resolver problemas de compatibilidade entre as versões mais recentes e mais antigas do seu aplicativo. Seu principal componente é AppCompatActivity. Essa classe base permite compatibilidade com versões anteriores de aplicativos Android. Para adicioná-lo ao seu aplicativo, use o seguinte código:

implementação 'androidx.appcompat: appcompat: 1.1.0'

Layout de restrição

Essa biblioteca permite criar layouts complexos usando uma hierarquia de visualização plana. É comum usar o ConstraintLayout como raiz de todos os arquivos de layout. Para adicioná-lo ao seu aplicativo, use o seguinte código:

implementação 'androidx.constraintlayout: constraintlayout: 1.1.3'

Design material

Esta biblioteca traz componentes de design de materiais para seu aplicativo. O design de material é uma linguagem de design usada para tornar seus vários componentes mais fáceis de usar. Você pode dar uma olhada na lista de componentes aqui. Para adicioná-lo ao seu aplicativo, use o seguinte código:

implementação 'com.google.android.material: material: 1.1.0-alpha10'

Etapa 3: atividade do Android

Um dos principais componentes do Android é a atividade, uma tela da interface do usuário do aplicativo. Um aplicativo é composto por várias atividades que podem ser iniciadas umas sobre as outras para formar uma pilha inversa. Um usuário pode navegar nessa pilha traseira usando os componentes da interface do usuário, ou seja, um botão Voltar.

Por exemplo, um aplicativo pode ter os seguintes componentes:

  • LoginActivity - representa o fluxo de login
  • ListActivity - representa uma lista de títulos recentes de artigos
  • DetailActivity - representa um artigo em si

As atividades têm seus próprios ciclos de vida, portanto, a classe Activity oferece seis retornos de chamada principais: onCreate (), onStart (), onResume (), onPause (), onStop (), onDestroy (). Quando o usuário sai de uma atividade, o sistema desmonta a atividade chamando métodos diferentes. Você pode usar esses métodos para verificar quando uma atividade está sendo criada ou destruída, se torna visível ou oculta, etc.

Criar uma atividade envolve duas etapas principais: criar uma classe Java e estendê-la da superclasse Activity. Você pode usar a biblioteca AppCompatActivity para obter compatibilidade com versões anteriores. As atividades do Android devem ser declaradas no arquivo AndroidManfiest.xml.

Etapa 4: layout do Android

Outro aspecto importante do desenvolvimento do Android é o desenvolvimento e o trabalho com o layout do Android. O layout define a estrutura geral da sua interface do usuário (interface do usuário). Eles são criados usando visualizações e grupos de visualizações.

As visualizações, também chamadas de widgets, podem ser componentes como TextView (renderizar texto), EditText (o usuário pode digitar texto) e Button (texto clicável).

Os ViewGroups, às vezes chamados de layouts, são como contêineres invisíveis que determinam onde certos elementos serão alojados. É aqui que você pode usar a biblioteca do Google ContraintLayout, que usa restrições para posicionar seus widgets. O método Android SDK é mais simples para iniciantes, mas oferece menos flexibilidade.

A maneira mais fácil de criar um layout é usar um arquivo XML em vez do código Java. Podemos então vincular ou inflar esse layout a uma atividade. Vamos criar um layout para ver como é feito.

Primeiro, dentro da pasta app / src / main / res / layout, crie um arquivo activity_main.xmllayout. Neste exemplo, usaremos um layout raiz através do ConstraintLayout juntamente com alguns atributos XML:

  • layout_width = "match_parent": define a largura do layout.
  • android: layout_height = "match_parent": define a altura do layout
  • xmlns: android e xmlns: app: definem o namespace XML, o namespace Android para atributos do Android SDK e o namespace do aplicativo para atributos das bibliotecas

Em segundo lugar, precisamos preencher nosso layout vazio, definindo uma exibição filho. Nesse caso, definiremos o texto estático que diz "Hello World". Para fazer isso, usamos um TextView e o atributo text. Usaremos wrap_content para que a visualização ocupe o máximo de espaço possível.

Agora que criamos nossas visões, passamos ao alinhamento. Queremos mover nosso texto para o centro da tela, pois o padrão posiciona nossas visualizações no canto superior esquerdo. Para fazer isso, vamos adicionar as seguintes restrições:

  • layout_constraintTop_toTopOf: declara uma restrição para alinhar a parte superior da visualização com a parte superior do ConstraintLayout
  • layout_constraintBottom_toBottomOf: declara uma restrição para alinhar a parte inferior da visualização à parte inferior do ConstraintLayout
  • layout_constraintLeft_toLeftOf: declara uma restrição para alinhar a esquerda da visualização à esquerda do ConstraintLayout
  • layout_constraintRight_toRightOf: declara uma restrição para alinhar o direito da visualização à direita do ConstraintLayout

Agora que tudo está alinhado onde queremos, passamos para a encadernação de layout. Isso serve para associar activity_main.xmllayout à MainActivity. Fazemos isso usando o método setContentView quando uma atividade é criada dentro do método onCreate.

O método setContentView aceita o ID do recurso de layout. Isso é referenciado pela classe Android R gerada automaticamente, onde todos os IDs de recursos são armazenados. Para fins de ligação, podemos usar o R.layout.activity_main para obter o ID de activity_main.xml, para que possamos dizer à MainActivity para renderizar o layout desse arquivo.

A etapa final é a ligação de visualizações, que nos permite interagir com as visualizações no tempo de execução. Para fazer isso, vinculamos a visualização do XML ao objeto Java.

Primeiro, definimos um novo ID para o TextView usando o atributo id com o valor @ + id / mainTextView.

Agora podemos alterar o objeto TextView de XML para Java usando o método findViewById. O método setText alterará nosso texto para torná-lo interativo.

Agora você conhece o processo básico de criação e layout de um aplicativo Android! É hora de você começar por conta própria! Na próxima seção, mostraremos alguns recursos importantes para você começar.

Recursos para desenvolvimento Android

Recursos oficiais do Google e Android

  • Guia oficial do Android: um guia passo a passo para criar um aplicativo
  • Amostras oficiais do Android: aprenda explorando outros projetos criados com o Android
  • Documentação oficial do Android: lista de bibliotecas e explicações técnicas detalhadas
  • Glossário do Google Android: lista de novos termos e vocabulário, glossário interativo

Aprenda o básico

  • XML Basics: guia para iniciantes em XML, usado para design e layouts Java from Scratch
  • Java para Android (cheatsheet): um livro especializado para escrever código Java para Android
  • Kotlin Crash Course for Programmers: curso on-line para desenvolvedores Java para se familiarizar com o Kotlin for Android
  • Aprenda Java do zero: um curso on-line gratuito que cobre todos os conceitos básicos do Java
  • Diretrizes do Android: práticas recomendadas e diretrizes básicas do GitHub

Para desenvolvedores intermediários / avançados

  • Desenvolvimento de aplicativos Android: curso do Google desenvolvido para aprimorar as habilidades do Android
  • Padrões de design comuns para Android: aprenda novas maneiras de resolver problemas no Kotlin
  • Lista de verificação de pré-lançamento do aplicativo Google Play Store: saiba como fazer lançamentos mais suaves
  • Práticas recomendadas para desenvolvimento do Android: saiba quais aspectos do Android você deve usar e evite quando se trata de práticas recomendadas

Deseja começar o desenvolvimento do Android agora?

Um dos melhores recursos disponíveis para desenvolvedores de todos os níveis é o Desenvolvimento Moderno de Aplicativos Android com Java, um curso prático e baseado em projetos que percorre todas as etapas do desenvolvimento. À medida que aprende, você cria um aplicativo de blog de viagem totalmente funcional.

Além disso, o curso é fornecido com o ambiente Android pré-configurado exclusivo do Educative, para que você não precise baixar nada para começar. É um dos únicos cursos por aí com este widget poderoso!

O curso começa com uma introdução básica e percorre cada estágio do desenvolvimento, incluindo…

  • Introdução ao Android
  • Tela de login
  • Tela de detalhes
  • Tela de lista
  • Pesquisar e classificar
  • Funcionalidades offline
  • Recursos adicionais
  • e mais

Nunca foi tão fácil começar o desenvolvimento do Android para impulsionar sua carreira no futuro!

Feliz aprendizado!