Saltar al contenido

Componentes de una aplicación android

Arquitectura Android

Lo que atrae el interés de los usuarios son las fantásticas funciones que acompañan a las aplicaciones. Las aplicaciones hacen que los teléfonos sean «inteligentes» y, gracias a sus ventajas, han transformado drásticamente la forma en que funcionamos hoy en día. Los programadores expertos se están poniendo manos a la obra, diseñando y creando sus propias aplicaciones e incorporándoles características favorables. En este artículo cubriremos los 5 fundamentos principales del desarrollo de aplicaciones Android que deberías conocer antes de empezar a programar una aplicación Android:

Java y XML son los dos principales lenguajes de programación utilizados en el desarrollo de aplicaciones Android. El conocimiento y dominio de estos lenguajes de programación son, por tanto, requisitos previos para desarrollar una aplicación Android. Algunos de los fundamentos del lenguaje de programación Java son:

Si te estás introduciendo en el desarrollo de aplicaciones Android, es muy importante que te familiarices con las herramientas de automatización de la compilación, así como con el entorno de desarrollo integrado antes de empezar a desarrollar tu aplicación. Puedes utilizar Android app studio IDE o Eclipse para las herramientas; te ayudarán a aprender los conceptos básicos y muchas otras cosas que te ayudarán a mejorar tu código. Usted puede aprender Apache Maven, Apache Ant, y Gradle, ya que proporcionan un potente conjunto de herramientas para ayudar en la gestión de sus construcciones.  También es importante que te familiarices con las herramientas y conceptos de control de código fuente. Aprende git y luego crea un repositorio git-source (creando una cuenta en Bitbucket o GitHub). Para entender los conceptos y términos básicos del funcionamiento de la plataforma, puedes utilizar la Guía de Bolsillo de Git.

Activity_main xml android studio

Desde la perspectiva del usuario final, una aplicación Android puede parecer una simple aplicación independiente. Sin embargo, cualquier aplicación Android consta de muchos componentes que trabajan en segundo plano para realizar la tarea dada.

Android es una plataforma basada en componentes. Las aplicaciones se construyen a partir de componentes poco acoplados, reutilizables, ampliables y reemplazables que se encuadran dentro de roles bien definidos. A continuación se presentan algunos de los componentes de una aplicación Android.

Una actividad Android representa cualquier pantalla individual de la interfaz de usuario. Por ejemplo, una simple pantalla de inicio de sesión con nombre de usuario y contraseña es una actividad de la aplicación. Las aplicaciones invocan actividades basadas en el flujo de trabajo.

Un servicio Android es un componente que se ejecuta silenciosamente en segundo plano para realizar ciertas operaciones. Por ejemplo, un servicio puede obtener algunos datos remotos mientras el usuario está ocupado leyendo el contenido de una página concreta de una aplicación.

Las aplicaciones Android emiten continuamente mensajes para que otras aplicaciones conozcan el evento y puedan desencadenar alguna acción. Los receptores de difusión se utilizan para responder a los mensajes de difusión enviados por otras aplicaciones o por el sistema Android.

Java android app ejemplo

Este capítulo proporciona una visión general de estas bibliotecas y entra en detalle sobre el uso de un subconjunto de ellas en el proyecto de ejemplo. Aunque no hay un proyecto de ejemplo para este capítulo, verás los proyectos de ejemplo de otros capítulos para ver estas librerías en acción. Para los componentes de la arquitectura de Android que no están cubiertos en el proyecto de ejemplo, se proporcionan enlaces a tutoriales gratuitos donde se puede aprender más.

La librería Room maneja la persistencia de tu aplicación. Room proporciona una capa de abstracción sobre SQLite y facilita la asignación directa de objetos al contenido en bruto de la base de datos, así como la fácil definición de consultas seguras para interactuar con los datos. Esto se consigue mediante el uso de anotaciones que generan código repetitivo entre bastidores.

Un ViewModel proporciona datos entre un repositorio y su View. A diferencia de las Activities, que se destruyen con los cambios de configuración, los ViewModels sobreviven a los cambios de configuración, manteniendo tus datos seguros y preservando el estado.

Si has utilizado RxJava antes, LiveData es una biblioteca similar (con características reducidas) que permite a las Vistas de Android observar los cambios de modelo y responder en consecuencia. LiveData también es consciente del ciclo de vida, por lo que sólo le dice a la interfaz de usuario que actualice las cosas si está en el estado correcto del ciclo de vida. También se limpia por ti, a diferencia de las suscripciones RxJava, de las que debes deshacerte tú mismo.

Recursos Android

Los componentes de la aplicación son los bloques de construcción esenciales de una aplicación Android. Estos componentes están libremente acoplados por el archivo de manifiesto de la aplicación Android Manifest.xml que describe cada componente de la aplicación y cómo interactúan.

Una aplicación Android es una aplicación Android. Una aplicación se empaqueta en un archivo APK (paquete de aplicaciones Android). El archivo APK contiene el código Java compilado y otros recursos como textos e imágenes para la aplicación Android.

Una actividad representa una única pantalla con una interfaz de usuario. Una actividad Android es una pantalla de la interfaz de usuario de la aplicación Android. En este sentido, una actividad Android es muy similar a las ventanas de una aplicación de escritorio. Una aplicación Android puede contener una o más actividades, lo que significa una o más pantallas. La aplicación Android comienza mostrando la actividad principal, y a partir de ahí la aplicación puede permitir abrir actividades adicionales.

Los servicios Android son procesos en segundo plano que pueden ejecutarse en un dispositivo Android, incluso si no hay ninguna aplicación visible. Los servicios no necesitan una interfaz de usuario. Un servicio podría, por ejemplo, comprobar las actualizaciones de un servidor remoto, o hacer una copia de seguridad de los datos cada hora, etc. Por ejemplo, un servicio podría reproducir música en segundo plano mientras el usuario está en una aplicación diferente, o podría obtener datos a través de la red sin bloquear la interacción del usuario con una actividad.