🚀 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.
- 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 Classese a sintaxe simplificada de variáveis. - 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.
- SDK (Software Development Kit): Conjunto de bibliotecas para compilar seu código. Utilize a versão mais recente disponível (ex: API 34+).
- 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:
- Abra o Android Studio e selecione “New Project”.
- Escolha o template “Empty Views Activity” (padrão para layouts baseados em XML).
- Configure o nome como
HelloWorlde o nome do pacote comocom.exemplo.helloworld. - Certifique-se de que a linguagem selecionada é Java e o Minimum SDK é API 26.
- 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.