Qué es una Activity y cómo añadir una manualmente
1. Qué es una Activity
Una Activity es un componente en una aplicación Android que contiene una interfaz de usuario y se utiliza principalmente para interactuar con el usuario.
| Punto clave | Descripción |
|---|---|
| Función principal | Aloja la interfaz de usuario y gestiona las interacciones del usuario (toques, entradas, etc.) |
| Cantidad | Una aplicación puede contener cero o más activities (una app sin activities puede seguir funcionando, por ejemplo, un servicio puramente en segundo plano) |
| Esencial | Cada activity corresponde a una ventana de pantalla completa o a una pantalla |
2. Crear una Activity manualmente (sin usar plantillas)
2.1 Crear el proyecto
- Crea un nuevo proyecto y nómbralo ActivityDemo
- Selecciona la plantilla Add No Activity (no se generará ninguna activity automáticamente)
- La ruta del proyecto no debe contener caracteres chinos
- Se requiere conexión a internet durante la creación (para descargar las dependencias de Gradle)

Si no hay conexión, aparecerá el siguiente error:
Gradle 'ActivityDemo' project refresh failed Error:Cause: dl.google.comLenguaje del código: JavaScript (javascript)Sin Gradle cargado, el proyecto no se dividirá automáticamente en paquetes y no podrás añadir activities con normalidad.
2.2 Crear la clase de Activity
Haz clic derecho en java/cn.bamn.www.activitydemo/ → New → Java Class


Nómbrala FirstActivity y haz que extienda 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);
}
}Lenguaje del código: JavaScript (javascript)
3. Crear un archivo de diseño (layout)
3.1 Crear un nuevo diseño
Haz clic derecho en res/layout → New → Layout Resource File

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

3.2 Escribir el código de diseño
Abre first_layout.xml y añade un botón:
<?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="Unirse a FoxDevelop" />
</LinearLayout>Lenguaje del código: HTML, XML (xml)
3.3 Explicación de atributos clave
| Atributo | Descripción |
|---|---|
android:id="@+id/button" | Define un ID único para el botón. El + significa que este ID se define por primera vez en este XML, no se hace referencia desde recursos existentes |
android:layout_width="match_parent" | El ancho llena el contenedor padre |
android:layout_height="wrap_content" | La altura se ajusta al contenido |
android:text | Texto mostrado en el botón |
Diferencia entre
+idy sin+:
@+id/xxx→ Define un nuevo ID (se usa al crear por primera vez)@id/xxx→ Hace referencia a un ID existente (por ejemplo, al hacer referencia entre diseños)
4. Cargar el diseño en la Activity
Vuelve a FirstActivity y llama a setContentView() dentro de onCreate():

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}Lenguaje del código: CSS (css)
| Código | Función |
|---|---|
setContentView() | Vincula el archivo XML de diseño con la activity |
R.layout.first_layout | Hace referencia al diseño res/layout/first_layout.xml |
5. Registrar la Activity en AndroidManifest.xml
Abre AndroidManifest.xml y regístrala dentro de la etiqueta <application>:
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>Lenguaje del código: HTML, XML (xml)
| Configuración | Función |
|---|---|
android:name=".FirstActivity" | Registra la activity (. representa el nombre del paquete actual) |
MAIN + LAUNCHER | Establece el punto de entrada al iniciar; se abre primero al tocar el icono |
Una activity no registrada no se puede usar; el sistema lanzará una
ActivityNotFoundException.
Activity