O que é uma Activity e como adicionar uma manualmente
1. O que é uma Activity?
Uma Activity é um componente em um aplicativo Android que contém uma interface de usuário e é usada principalmente para interagir com o usuário.
| Ponto-chave | Descrição |
|---|---|
| Função principal | Hospeda a interface do usuário e processa interações (toques, entradas, etc.) |
| Quantidade | Um aplicativo pode conter zero ou mais activities (um app sem activities pode rodar, como um serviço puramente em segundo plano) |
| Essência | Cada activity corresponde a uma janela de tela cheia ou a uma tela |
2. Criar uma Activity manualmente (sem usar modelos)
2.1 Criar o projeto
- Crie um novo projeto e nomeie-o como ActivityDemo
- Escolha o modelo Add No Activity (nenhuma activity será gerada automaticamente)
- O caminho do projeto não deve conter caracteres chineses
- É necessário estar conectado à internet durante a criação (para baixar as dependências do Gradle)

Se não houver conexão, o seguinte erro será exibido:
Gradle 'ActivityDemo' project refresh failed Error:Cause: dl.google.comCode language: JavaScript (javascript)Sem o Gradle carregado, o projeto não será dividido em pacotes automaticamente e você não conseguirá adicionar activities normalmente.
2.2 Criar a classe da Activity
Clique com o botão direito em java/cn.bamn.www.activitydemo/ → New → Java Class


Nomeie-a como FirstActivity e faça-a estender AppCompatActivity:
package cn.bamn.www.activitydemo;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}Code language: JavaScript (javascript)
3. Criar um arquivo de layout
3.1 Criar um novo layout
Clique com o botão direito em res/layout → New → Layout Resource File

| Parâmetro | Valor |
|---|---|
| File name | first_layout |
| Root element | LinearLayout |

3.2 Escrever o código de layout
Abra first_layout.xml e adicione um botão:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Entrar no FoxDevelop" />
</LinearLayout>Code language: HTML, XML (xml)
3.3 Explicação de atributos principais
| Atributo | Descrição |
|---|---|
android:id="@+id/button" | Define um ID único para o botão. O + significa que este ID está sendo definido pela primeira vez neste XML, e não referenciado de recursos existentes |
android:layout_width="match_parent" | A largura preenche o contêiner pai |
android:layout_height="wrap_content" | A altura se ajusta ao conteúdo |
android:text | Texto exibido no botão |
Diferença entre
+ide sem+:
@+id/xxx→ Define um novo ID (usado na primeira criação)@id/xxx→ Referencia um ID existente (por exemplo, ao referenciar entre layouts)
4. Carregar o layout na Activity
Volte para FirstActivity e chame setContentView() dentro de onCreate():

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}Code language: CSS (css)
| Código | Função |
|---|---|
setContentView() | Vincula o arquivo XML de layout à activity |
R.layout.first_layout | Referencia o layout res/layout/first_layout.xml |
5. Registrar a Activity no AndroidManifest.xml
Abra AndroidManifest.xml e registre-a dentro da tag <application>:
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>Code language: HTML, XML (xml)
| Configuração | Função |
|---|---|
android:name=".FirstActivity" | Registra a activity (. representa o nome do pacote atual) |
MAIN + LAUNCHER | Define como ponto de entrada ao iniciar; aberto primeiro ao tocar no ícone |
Uma activity não registrada não pode ser usada; o sistema lançará uma
ActivityNotFoundException.
Activity