Desarrollo de Aplicaciones con Android (I)

Desarrollo de Aplicaciones Android
Objetivos
- Comprender los fundamentos del desarrollo de aplicaciones Android: Aprender los conceptos básicos y las herramientas necesarias para crear aplicaciones funcionales en Android.
- Configurar el entorno de desarrollo con Android Studio: Familiarizarse con la instalación y configuración de Android Studio, el entorno oficial para el desarrollo de aplicaciones Android.
- Crear una aplicación básica con la arquitectura recomendada: Diseñar y desarrollar una aplicación siguiendo las mejores prácticas de arquitectura.
- Manejar actividades, intents y elementos de la interfaz gráfica: Entender cómo funcionan las actividades y cómo interactúan con los elementos visuales.
- Implementar interacciones básicas con el usuario: Aprender a manejar eventos y responder a las acciones del usuario.
Introducción y Configuración del Entorno
Conceptos básicos
- ¿Qué es Android?: Android es un sistema operativo basado en Linux diseñado principalmente para dispositivos móviles. Fue lanzado en 2008 y ha evolucionado a través de múltiples versiones, cada una con nuevas características y mejoras.
- Historia y versiones: Desde su lanzamiento, Android ha pasado por varias versiones, desde Android 1.0 hasta las versiones más recientes como Android 13, cada una con nombres de postres o números.
- Arquitectura y componentes principales: Una aplicación Android se compone de actividades, servicios, receptores de difusión y proveedores de contenido. Además, utiliza recursos como layouts, imágenes y cadenas de texto para definir su interfaz y comportamiento .
Preparación del entorno
- Instalación de Android Studio: Android Studio es el entorno oficial para el desarrollo de aplicaciones Android. Incluye herramientas como el editor de código, el emulador y el sistema de compilación Gradle.
- Configuración del emulador y dispositivos físicos: Permite probar aplicaciones en un emulador virtual o en dispositivos reales conectados mediante USB.
- Estructura de un proyecto en Android Studio: Un proyecto típico incluye carpetas para el código fuente, recursos gráficos, layouts y archivos de configuración como
AndroidManifest.xml
.
Primera app: «Hola Mundo»
- Creación de un proyecto desde cero: Configurar un nuevo proyecto en Android Studio seleccionando el lenguaje (Java o Kotlin) y la plantilla inicial.
- Explicación de MainActivity y activity_main.xml:
MainActivity
es el punto de entrada de la aplicación, mientras queactivity_main.xml
define el diseño visual de la pantalla principal. - Ejecución en un emulador y en un dispositivo real: Probar la aplicación para verificar su funcionamiento.
Diseño de Interfaz y Actividades
Interfaz de usuario con XML
- Layouts: Los layouts definen la estructura visual de la interfaz. Los más comunes son:
- LinearLayout: Organiza los elementos en una dirección (horizontal o vertical).
- RelativeLayout: Permite posicionar elementos en relación con otros.
- ConstraintLayout: Ofrece mayor flexibilidad para diseños complejos.
- Elementos básicos: Componentes como
TextView
(texto),Button
(botones),EditText
(campos de texto) eImageView
(imágenes) son esenciales para construir interfaces gráficas.
Manejo de actividades
- Ciclo de vida de una actividad: Las actividades tienen un ciclo de vida que incluye estados como
onCreate
,onStart
,onResume
,onPause
,onStop
yonDestroy
. Esto permite gestionar recursos y responder a cambios en la aplicación. - Navegación entre actividades con Intent: Los intents permiten iniciar nuevas actividades o enviar datos entre ellas.
- Envío de datos entre actividades: Se pueden pasar datos mediante
Intent.putExtra()
y recuperarlos congetIntent().getExtras()
.
Interacciones y Almacenamiento de Datos
Interacciones con el usuario
- Escucha de eventos: Manejar eventos como clics (
onClick
), pulsaciones largas (onLongClick
) o cambios en campos de texto. - Uso de Toast y Snackbar: Mostrar mensajes breves al usuario mediante
Toast
(mensajes simples) oSnackbar
(mensajes con acciones).
Almacenamiento de datos local
- SharedPreferences: Ideal para guardar configuraciones simples o datos pequeños como preferencias del usuario.
- SQLite y Room: Para bases de datos locales más complejas, SQLite es la opción nativa, mientras que Room proporciona una capa de abstracción más moderna y fácil de usar.
Consumo de APIs y Publicación Básica
Consumo de datos desde internet
- Uso de Retrofit: Retrofit es una biblioteca popular para consumir APIs REST. Permite realizar peticiones HTTP como GET y POST de manera sencilla.java
@GET("users") Call<List<User>> getUsers();
- Peticiones GET y POST: Se utilizan para obtener datos de un servidor o enviar información.
Publicación de una app (visión general)
- Generar un APK: Android Studio permite compilar y empaquetar la aplicación en un archivo APK listo para instalar.
- Google Play Console: Es la plataforma para publicar y gestionar aplicaciones en Google Play.
- Buenas prácticas para la publicación: Optimizar el rendimiento, minimizar errores y seguir las políticas de Google Play para garantizar una experiencia de usuario satisfactoria.