🚀 1 Construa sua primeira aplicação

Neste capítulo, daremos os primeiros passos no desenvolvimento para a plataforma Android. Compreenderemos a base do sistema operacional, prepararemos as ferramentas de trabalho e criaremos nossa primeira aplicação funcional, explorando a estrutura de um projeto profissional seguindo os padrões do Java 17.

IMPORTANT

Este portal utiliza como base o Android Studio 2023.1 (Hedgehog) ou superior e o JDK 17. Para garantir a compatibilidade com APIs modernas de data e hora, assumimos o Android 8.0 (API 26) como nível mínimo de SDK.

1.1 Conheça o Android

O Android é uma plataforma de código aberto baseada no kernel Linux, gerenciada pela Google e pela Open Handset Alliance. Diferente de outros sistemas operacionais móveis, o Android permite uma vasta personalização e é executado em uma infinidade de dispositivos, desde smartphones e tablets até relógios, televisores e sistemas automotivos.

Para o desenvolvedor moderno, o Android oferece um ecossistema robusto baseado em componentes que facilitam o reaproveitamento de funcionalidades e a integração entre diferentes aplicativos.

1.2 Configure o ambiente para desenvolvimento

Para desenvolver aplicações profissionais, utilizamos o Android Studio, o ambiente de desenvolvimento integrado (IDE) oficial.

  1. JDK (Java Development Kit) 17: O Android Studio já traz uma versão embutida do OpenJDK 17, garantindo suporte a recursos modernos como Records, Sealed Classes e a sintaxe simplificada de variáveis.
  2. Android Studio (Hedgehog): Realize o download da versão mais estável. Ele inclui o editor de código, ferramentas de análise e o SDK Manager.
  3. SDK (Software Development Kit): Conjunto de bibliotecas para compilar seu código. Utilize a versão mais recente disponível (ex: API 34+).
  4. Emulador (AVD): Permite testar a aplicação em um dispositivo virtual de alta performance.

1.3 Escreva o Hello World!

Com o ambiente configurado, vamos criar o primeiro projeto:

  1. Abra o Android Studio e selecione “New Project”.
  2. Escolha o template “Empty Views Activity” (padrão para layouts baseados em XML).
  3. Configure o nome como HelloWorld e o nome do pacote como com.exemplo.helloworld.
  4. Certifique-se de que a linguagem selecionada é Java e o Minimum SDK é API 26.
  5. Clique em Finish.

O Android Studio criará a estrutura base. O arquivo MainActivity.java conterá o código inicial:

package com.exemplo.helloworld;
 
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
 
public class MainActivity extends AppCompatActivity {
    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

1.4 Conheça a estrutura do projeto

Um projeto Android é organizado para separar lógica, interface e recursos:

  • app/java: Contém os arquivos de código-fonte Java.
  • app/res/layout: Contém os arquivos XML que definem a interface do usuário (UI).
  • app/res/values: Armazena strings, cores e estilos.
  • app/manifests/AndroidManifest.xml: Descreve os componentes essenciais para o sistema operacional.
  • Gradle Scripts: Automação de build (Kotlin DSL ou Groovy) para gerenciar dependências.

1.5 Hello World 2.0 (Modern Java)

Para evoluirmos nossa aplicação, vamos interagir com o usuário. Utilizaremos a inferência de tipo local (var) do Java 17 para tornar o código mais limpo.

No arquivo activity_main.xml:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">
 
    <EditText
        android:id="@+id/editNome"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Digite seu nome" />
 
    <Button
        android:id="@+id/btnSaudacao"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Clique aqui" />
 
</LinearLayout>

Agora, no MainActivity.java, adicionamos a lógica utilizando a sintaxe moderna:

public class MainActivity extends AppCompatActivity {
    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // Uso de 'var' (JDK 10+) para simplificar declarações
        var editNome = (EditText) findViewById(R.id.editNome);
        var btnSaudacao = (Button) findViewById(R.id.btnSaudacao);
 
        btnSaudacao.setOnClickListener(v -> {
            var nome = editNome.getText().toString();
            Toast.makeText(this, "Olá, " + nome + "!", Toast.LENGTH_SHORT).show();
        });
    }
}

1.6 Conclusão

Neste capítulo, você preparou seu ambiente e compreendeu o fluxo básico de desenvolvimento Android com Java 17. Vimos que uma aplicação consiste na união de layouts XML e lógica robusta. Nas próximas seções, exploraremos o View Binding para eliminar o uso de findViewById e tornar nosso código ainda mais seguro.


Próximo Capítulo ➡️