Android Studio, aprendamos la arquitectura de apps

Todas las aplicaciones Android se componen de una estructura o arquitectura general; conformada por librerías de código, archivos de recursos y vistas, código fuente y Android Manifest.

Por otro lado, las apps de Android tienen una estructura mucho más compleja. Una app típica consta de varios componentes de la app, como actividades, fragmentos, servicios, proveedores de contenido y receptores de emisión.

¿Qué es Android Studio?

Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de apps para Android, basado en IntelliJ IDEA. Además del potente editor de códigos y las herramientas para desarrolladores de IntelliJ.

Funciones que aumentan tu productividad

  • Un sistema de compilación flexible basado en Gradle.
  • Un emulador rápido y cargado de funciones.
  • Un entorno unificado donde puedes desarrollar para todos los dispositivos Android.
  • Aplicación de cambios para insertar cambios de códigos y recursos a la aplicación en ejecución sin reiniciar la aplicación.
  • Integración con GitHub y plantillas de código para ayudarte a compilar funciones de apps comunes y también importar código de ejemplo.
  • Variedad de marcos de trabajo y herramientas de prueba.
  • Herramientas de Lint para identificar problemas de rendimiento, usabilidad y compatibilidad de la versión, entre otros.
  • Compatibilidad con C++ y NDK.
  • Compatibilidad integrada para Google Cloud Platform, que facilita la integración con Google Cloud Messaging y App Engine.

Arquitectura

Para trabajar con Android nos encontramos con una arquitectura muy sólida y robusta. Se compone de capas dando un excelente soporte a nuestra aplicación.

El núcleo de Android está formado por el sistema operativo Linux en su versión 2.6. Esta capa proporciona servicios como la seguridad, manejo de memoria, multiproceso, soporte de drivers para dispositivos, entre otro. Esta es la capa que se encuentra a más bajo nivel dentro de esta arquitectura.

El Runtime de Android está basado en el concepto de máquina virtual utilizado en Java. Inicialmente se crea una máquina virtual llamada Dalvik que posteriormente evoluciono a lo que conocemos hoy como apps. Esta es la capa que permite que nuestras aplicaciones sean ejecutadas.

La capa de la librería, es un conjunto de librerías encargadas de la compatibilidad entre animaciones, gestión de datos, gestión de aplicaciones, entre otras.

La capa de Java Api Framework, brinda una serie de herramientas de desarrolladores que pueden ser vinculadas en las aplicaciones. Esto es un conjunto de clases para el uso de sensores, localización, servicios, GPS, entre otras utilidades que esta capa nos provee.

Por último, la capa de aplicaciones, es la encargada de permitir la interacción entre el usuario y nuestros datos, donde se puede acceder a las aplicaciones que nosotros mismos desarrollamos o las que viene ya por defecto.

Componentes de la arquitectura de Android

Los componentes de la arquitectura de Android son una colección de bibliotecas que te ayudan a diseñar apps sólidas, que puedan someterse a prueba y admitan mantenimiento. Comienza con clases para administrar el ciclo de vida de los componentes de la IU y manejar la persistencia de los datos.

  • Aprende los conceptos básicos sobre cómo crear una app robusta con la Guía de arquitectura de apps.
  • Administra el ciclo de vida de tu app. Los nuevos componentes que tienen en cuenta el ciclo de vida te ayudan a administrar los ciclos de vida de tus actividades y fragmentos. Supera los cambios de configuración, evita las fugas de memoria y sube datos con facilidad a tu IU.
  • Usa LiveData a fin de compilar objetos de datos que notifiquen sobre las visualizaciones cuando cambia la base de datos subyacente.
  • ViewModel almacena datos relacionados con la IU que no se destruyen en las rotaciones de apps.
  • Room es una biblioteca de asignación de objetos de SQLite. Úsala para evitar el código estándar y convertir fácilmente los datos de la tabla de SQLite en objetos Java. Room ofrece comprobaciones del tiempo de compilación de las declaraciones de SQLite y puede mostrar objetos observables de RxJava, Flowable y LiveData.

Autor: Fabian Camilo Guerrero Gantiva

Código: UCP2-4

Editor: Luz Adriana Muñoz

Lee mas artículos  relacionados http://www.niixer.com/

Fuentes:

Developers. (2020). Introducción a Android Studio. Developers. https://developer.android.com/studio/intro?hl=es-419

Developers. (2019). Guía de arquitectura de apps. Developers. https://developer.android.com/jetpack/docs/guide?hl=es-419

Developers. (2019). Componentes de la arquitectura de Android. Developers. https://developer.android.com/topic/libraries/architecture?hl=es-419

Reina, C. (2015). Arquitectura de una aplicación para Android. Platzi. https://platzi.com/blog/arquitectura-android-app/

Cruz Torres, J., & Samaniego González, E. (2018). Creación de una guía para la utilización de la arquitectura “clean architecture” en aplicaciones Android con lenguaje de programación Java, utilizando como modelo la implementación de un prototipo de monitoreo deportivo para un equipo de ultimate. Revista De Iniciación Científica3(2), 27-35. Recuperado a partir de https://revistas.utp.ac.pa/index.php/ric/article/view/1750

Pexels. (2016). Andriod Apps Lanzador[Imagen]. Pixabay. https://pixabay.com/es/photos/android-apps-lanzador-de-1869510/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *