Ir al contenido principal

Introducción a la plataforma de desarrollo Android


1.    ¿Qué es Android?
Es una plataforma de software basada en el núcleo de Linux.
El sistema operativo es de código abierto (esto permite que diferentes compañías puedan modificar y redistribuirlo).
Android nos permite abstraernos del hardware, esto quiere decir que nos olvidemos de las instrucciones complejas para acceder a los componentes (cámara, giroscopio, GPS, etc.) de los diferentes dispositivos, de esta manera nos facilita el desarrollo de aplicaciones que interactuarán con dichos componentes.
Las aplicaciones desarrolladas no necesariamente son de código abierto, estas aplicaciones  se distribuyen a través de PlayStore de Android, donde se distribuye únicamente el binario y no el código fuente.

2.    Arquitectura de Android
Aplicaciones
Inicio
Contactos
Teléfono
Navegador
Entorno de Aplicación
Sistema de vistas
Manejador de recursos
Manejador de actividades
Manejador de notificaciones
Librerías nativas
System C
OpenCORE
Surface manager
Webkit
SGL
OpenGL ES
FreeType
SQLite
SSL
Runtime de Android
Maquina virtual Dalvik o ART (en v5.0)
Core libraries
Kernel de Linux
Controladores de dispositivos / cámara, WIFI, audio, display, keypad, etc.

2.1.   Kernel de Linux
Andorid está basado en la versión 2.6 d la versión de Linux, esta capa nos permite la abstracción entre el hardware y el software a través de los drivers. El kernel proporciona servicios de gestión como la de seguridad, memoria, procesos, red, entre otros.

2.2.   Runtime de Android
Está basado en el concepto de Máquina Virtual utilizado en Java. Cada aplicación se ejecuta en su propio proceso, con su propia instancia  de maquina virtual Dalvik, un dispositivo puede ejecutar múltiples máquinas virtuales.
A partir de Android 5.0 se remplaza Dalvik por ART. Esta nueva máquina virtual incorpora mejoras como por ejemplo redice el tiempo de ejecución del código Java hasta en un 33%.

2.3.   Librerías nativas
Incluye un conjunto de librerías en C / C++ que son utilizados en los componentes de Android.

2.4.    Entorno de aplicación
Capa que proporciona una plataforma de desarrollo libre de aplicaciones, está diseñada para simplificar la reutilización de componentes, los servicios más importantes son:
·         Views: vistas / parte visual de los componentes.
·         Resource Manager: proporciona acceso a recursos.
·         Activity Manager: maneja el ciclo de vida de las aplicaciones y permite navegación entre ellas.
·         Notification Manager: permite el manejo de alertas personalizadas.
·         Content Providers: permite intercambio de datos entre aplicaciones.

2.5.    Aplicaciones
Conjunto de aplicaciones que están instaladas en una maquina Android.

3.    Componentes de Android
  • Actividades / activities: son las pantallas de la aplicación, una aplicación necesita una o muchas actividades para crear la interfaz de usuario, las actividades son independientes entre sí, aunque trabajan para un objetivo común. 
  •  Intents: representan la voluntad de realizar alguna acción. 
  •  Intents Filters: nos permite añadir características a los intents. 
  •  Servicios: son demonios que se están ejecutando sin la necesidad que el usuario los vea, existen dos tipos, servicios locales que son ejecutados en el mismo procesos y servicios remotos que son ejecutados en procesos separados. 
  •  Content Providers: nos permite compartir datos entre aplicaciones. 
  •  Broadcast Receivers: recibe y reacciona a determinados acontecimientos, por ejemplo llamada entrante, conexión a wifi.

Con este resumen ya podemos ir a instalar Android Studio, para lo cual visite este elace http://ediardev.blogspot.pe/2016/02/instalacion-de-android-studio.html.

Una vez instalado podemos empezar con los primeros pasos con Android Studio, para lo cual visite el siguiente enlace http://ediardev.blogspot.pe/2016/02/preparando-android-studio.html.

Comentarios

Entradas más populares de este blog

Acceder a wamp/xampp desde otro pc

En ocasiones queremos que nuestros proyectos web que están en un servidor web local ( http://localhost/ ), sean accedidos desde otras computadoras de la red a través de la IP del servidor web local. Pero esto no es posible debido a que algunas soluciones que integran apacahe - php - mysql - otros en un solo paquete (Wampserver, xampp) solo habilitan el acceso de manera local. La solución está en editar (cambiar directivas) el archivo de configuración del apache, en este caso trabajare con Wamp. Cambiando directivas en Directory Abrir el archivo de configuración de apache, en mi caso: C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf Y buscar: <Directory />  AllowOverride none  Require all denied </Directory> Y modificar a esto: <Directory /> AllowOverride none #Require all denied Order allow,deny Allow from all </Directory> Cambiando directivas en el documentRoot En el mismo archivo buscar: <Directory "c:/wamp/...

Instalar varias versiones de Mozilla Firefox en Windows

A veces tenemos la necesidad de probar nuestras aplicaciones web en diferentes navegadores y en sus diferentes versiones, en el caso de Firefox no se puede tener varias versiones instaladas al mismo tiempo, por más que se hagas instalaciones personalizadas eligiendo otra carpeta de destino. Una posible solución es instalar las versiones portables, funciona pero no he quedado conforme, la otra solución es la que detallo continuación. Crearemos un perfil de ejecución para cada versión de Firefox, y haremos instalaciones personalizadas para cada versión. Creando un nuevo perfil Presionamos tecla Windows + R (ventana ejecutar) y escribir: firefox –profilemanager Se abrirá la siguiente ventana, en tu caso solo aparecerá “default” a mi aparece varios porque tengo todas esas ya instaladas. Creamos un nuevo perfil (crear perfil) Poner el nombre de perfil, yo le pongo ff3 porque será firefox 3.0. Ahora ya tengo el perfil ff3 agregado, luego salir ...

Modelo de datos para una encuesta

Modelo de datos para encuesta, la aplicación lo hice con codeigniter, espero subirlo pronto.