Objetivos del Módulo
En este módulo, aprenderás los conceptos básicos del desarrollo de aplicaciones Android utilizando Kotlin. Al final de esta sección, deberías ser capaz de:
- Configurar un proyecto Android con Kotlin.
- Comprender la estructura básica de un proyecto Android.
- Crear una aplicación simple de Android.
- Configuración del Entorno de Desarrollo
1.1 Instalación de Android Studio
Para desarrollar aplicaciones Android con Kotlin, necesitas instalar Android Studio, el entorno de desarrollo integrado (IDE) oficial para Android. Sigue estos pasos:
- Descarga Android Studio desde la página oficial.
- Instala Android Studio siguiendo las instrucciones específicas para tu sistema operativo (Windows, macOS, Linux).
- Configura Android Studio:
- Abre Android Studio.
- Sigue el asistente de configuración para instalar los componentes necesarios (SDK de Android, emuladores, etc.).
1.2 Creación de un Nuevo Proyecto
- Abre Android Studio y selecciona "Start a new Android Studio project".
- Elige una plantilla de proyecto. Para este ejemplo, selecciona "Empty Activity".
- Configura tu proyecto:
- Name: MyFirstKotlinApp
- Package name: com.example.myfirstkotlinapp
- Save location: Elige una ubicación en tu sistema.
- Language: Kotlin
- Minimum API level: Elige la versión mínima de Android que deseas soportar (por ejemplo, API 21: Android 5.0 Lollipop).
- Haz clic en "Finish" para crear el proyecto.
- Estructura de un Proyecto Android
2.1 Archivos y Directorios Principales
Un proyecto Android tiene una estructura específica. Aquí hay una descripción de los directorios y archivos más importantes:
- app/: Contiene el código fuente de la aplicación.
- src/: Contiene el código fuente de la aplicación.
- main/: Contiene el código fuente principal.
- java/: Contiene los archivos de código fuente en Java/Kotlin.
- res/: Contiene los recursos de la aplicación (layouts, strings, imágenes, etc.).
- AndroidManifest.xml: Archivo de manifiesto que describe los componentes de la aplicación.
- main/: Contiene el código fuente principal.
- src/: Contiene el código fuente de la aplicación.
- build.gradle: Archivo de configuración de Gradle para el proyecto.
2.2 Archivo AndroidManifest.xml
El archivo AndroidManifest.xml
es crucial para cualquier aplicación Android. Define la estructura y los componentes de la aplicación. Aquí hay un ejemplo básico:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myfirstkotlinapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
- Creación de una Aplicación Simple
3.1 Diseño de la Interfaz de Usuario
Vamos a crear una interfaz de usuario simple con un TextView
y un Button
.
- Abre el archivo
activity_main.xml
enres/layout/
. - Reemplaza el contenido con el siguiente código:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, World!" android:textSize="24sp" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Me" /> </LinearLayout>
3.2 Lógica de la Aplicación en Kotlin
Ahora, vamos a agregar la lógica para cambiar el texto del TextView
cuando se haga clic en el Button
.
- Abre el archivo
MainActivity.kt
ensrc/main/java/com/example/myfirstkotlinapp/
. - Reemplaza el contenido con el siguiente código:
package com.example.myfirstkotlinapp import android.os.Bundle import android.widget.Button import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView: TextView = findViewById(R.id.textView) val button: Button = findViewById(R.id.button) button.setOnClickListener { textView.text = "Button Clicked!" } } }
3.3 Ejecutar la Aplicación
- Conecta un dispositivo Android o inicia un emulador desde Android Studio.
- Haz clic en el botón "Run" (o presiona Shift + F10) para compilar y ejecutar la aplicación.
- Ejercicio Práctico
Ejercicio
Modifica la aplicación para que el TextView
muestre un contador que se incrementa cada vez que se hace clic en el Button
.
Solución
- Abre el archivo
MainActivity.kt
. - Modifica el código para incluir un contador:
package com.example.myfirstkotlinapp import android.os.Bundle import android.widget.Button import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { private var counter = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView: TextView = findViewById(R.id.textView) val button: Button = findViewById(R.id.button) button.setOnClickListener { counter++ textView.text = "Button clicked $counter times" } } }
Conclusión
En esta sección, has aprendido a configurar un entorno de desarrollo para Android con Kotlin, comprender la estructura básica de un proyecto Android y crear una aplicación simple. En el próximo módulo, profundizaremos en la construcción de interfaces de usuario más complejas y el manejo de la entrada del usuario.
Curso de Programación en Kotlin
Módulo 1: Introducción a Kotlin
- Introducción a Kotlin
- Configuración del Entorno de Desarrollo
- Conceptos Básicos de Kotlin: Variables y Tipos de Datos
- Flujo de Control: Condicionales y Bucles
- Funciones y Lambdas
Módulo 2: Programación Orientada a Objetos en Kotlin
- Clases y Objetos
- Herencia e Interfaces
- Modificadores de Visibilidad
- Clases de Datos y Clases Selladas
- Declaraciones de Objetos y Objetos Compañeros
Módulo 3: Características Avanzadas de Kotlin
- Colecciones y Genéricos
- Funciones de Extensión
- Funciones de Orden Superior y Programación Funcional
- Corrutinas y Programación Asíncrona
- DSL (Lenguaje Específico de Dominio) en Kotlin
Módulo 4: Kotlin para Desarrollo Android
- Introducción al Desarrollo Android con Kotlin
- Construcción de Interfaces de Usuario
- Manejo de Entrada del Usuario
- Redes y Almacenamiento de Datos
- Pruebas y Depuración