¿Cuáles son los marcos de desarrollo de Android más utilizados en el desarrollo de aplicaciones de Android?
Arquitectura de Android
1. Kernel de Linux
Android proporciona servicios centrales del sistema basados en Linux 2.6, como seguridad, administración de memoria, administración de procesos, pila de red, y modelos de programas de controladores, etc. Oculta detalles de hardware específicos y proporciona servicios unificados a las capas superiores. Si ha estudiado redes de computadoras y comprende OSI/RM, sabrá que la ventaja de las capas es utilizar los servicios proporcionados por la capa inferior para proporcionar servicios unificados a la capa superior, protegiendo las diferencias entre esta capa y la capa inferior. Cuando la capa actual y la capa inferior cambian, no afectarán a los niveles superiores. En otras palabras, cada capa tiene su propia función y cada capa proporciona un SAP (punto de acceso al servicio) fijo. Se puede decir que el punto profesional es de alta cohesión y bajo acoplamiento. Si solo está desarrollando aplicaciones, no necesita comprender en profundidad la capa del kernel de Linux.
2. Tiempo de ejecución de Android
Android contiene una serie de bibliotecas principales que proporcionan la mayoría de las funciones en las bibliotecas de clases principales del lenguaje de programación Java. Cada aplicación de Android es una instancia de la máquina virtual Dalvik y se ejecuta en su propio proceso. La máquina virtual Dalvik está diseñada para que varias máquinas virtuales puedan ejecutarse de manera eficiente en un solo dispositivo. El formato del archivo ejecutable de la máquina virtual Dalvik es .dex. El formato dex es un formato comprimido diseñado para sistemas con memoria y velocidad de procesador limitadas. La mayoría de las máquinas virtuales, incluida la JVM, se basan en pilas, mientras que la máquina virtual Dalvik se basa en registros. Ambas arquitecturas tienen ventajas y desventajas; en general, las máquinas basadas en pilas requieren más instrucciones, mientras que las máquinas basadas en registros requieren más instrucciones. dx es un conjunto de herramientas que convierten Java .class al formato .dex. Un archivo dex generalmente contiene múltiples clases. Dado que a veces es necesario optimizar dex, el tamaño del archivo aumenta entre 1 y 4 veces y termina en ODEX. La máquina virtual Dalvik se basa en el kernel de Linux para proporcionar funciones básicas como subprocesos y administración de memoria de bajo nivel.
3. Biblioteca
Android contiene una serie de bibliotecas C/C++ utilizadas por varios componentes del sistema Android. Estas bibliotecas se proporcionan a los desarrolladores a través del marco de la aplicación de Android. Algunas de las bibliotecas principales se enumeran a continuación: Biblioteca System C: derivada BSD de la biblioteca estándar del sistema C (libc), adecuada para dispositivos integrados basados en Linux, MP3, AAC, AMR, JPG, PNG Gestión de interfaz: gestiona el acceso al subsistema de visualización y combine perfectamente capas de gráficos 2D y 3D para múltiples aplicaciones LibWebCore: un motor de navegador web más nuevo que impulsa navegadores Android y vistas web integradas SGL: una biblioteca 3D de motor de gráficos 2D básico, basada en la implementación de las API OpenGL ES 1.0. API. Las bibliotecas utilizan aceleración 3D por hardware o contienen software ráster 3D altamente optimizado FreeType (representación de mapas de bits y fuentes vectoriales) SQLite, un motor de base de datos relacional potente y liviano que se puede utilizar en todas las aplicaciones.
Marco de aplicaciones
Al proporcionar una plataforma de desarrollo abierta, Android ayuda a los desarrolladores a crear aplicaciones extremadamente ricas. Android permite a los desarrolladores crear aplicaciones extremadamente ricas e innovadoras. Los desarrolladores son libres de aprovechar el hardware del dispositivo, acceder a información de ubicación, ejecutar servicios en segundo plano, configurar alarmas, agregar notificaciones a la barra de estado y más. Los desarrolladores tienen acceso completo a la API del marco utilizada por las aplicaciones principales.
La arquitectura de la aplicación está diseñada para simplificar la reutilización de componentes, de modo que cualquier aplicación pueda publicar su funcionalidad y cualquier otra aplicación pueda usarla (sujeta a las restricciones de seguridad impuestas por el marco). Este mecanismo permite a los usuarios reemplazar componentes. Todas las aplicaciones son en realidad un conjunto de servicios y sistemas, que incluyen: Vistas: una colección rica y extensible de vistas que se pueden utilizar para crear aplicaciones. Estos incluyen listas, cuadrículas, cuadros de texto, botones e incluso proveedores de contenido de navegador web integrados, que permiten a las aplicaciones acceder a datos de otras aplicaciones (como libretas de direcciones) o disfrutar de su propio Administrador de recursos de datos. Proporciona acceso a recursos sin código, como cadenas localizadas, gráficos y archivos de diseño Administrador de notificaciones: permite que todas las aplicaciones muestren alertas personalizadas en la barra de estado Administrador de actividades (Activity Manager): administra el ciclo de vida de las aplicaciones y proporciona navegación universal hacia atrás
5. integra una serie de aplicaciones principales, incluidos clientes de correo electrónico, programas de SMS, calendarios y mapas, navegador, contactos y otras configuraciones. Todas las aplicaciones están escritas utilizando el lenguaje de programación Java. ¡Aún están por desarrollarse aplicaciones más completas! De lo anterior sabemos que la arquitectura de Android tiene capas, es muy clara y la división del trabajo también es clara. Android en sí es una pila de software (Software Stack), o "arquitectura de iteración de software". La capa de iteración se divide principalmente en tres capas: sistema operativo, middleware y aplicación. De lo anterior, también hemos visto el poder del código abierto. Aquí, cada software de código abierto familiar ha aportado su propia fuerza.