Hello Android! (I)

Hello Android! (I)

Hola a tod@s y bienvenidos a un nuevo artículo del blog de Espai: Hello Android! (I).

Hoy vamos a hablar del robotico de Google, ya supera el 92% de cuota en España. Los demás sistemas representan el 4,4% (la manzanica mordía) y 3,5 el resto.

Expansión: Android ya es un monopolio en España

 

Con estas cifras en la mano, tenemos un buen argumento para hacer el siguiente artículo. En realidad va a ser una «trilogía»

  • Introducción a Android
  • Primera aplicación
  • Integración con otras aplicaciones

 

Hello Android! (I): Introducción

 

1. Visión general

 

Android es un sistema operativo basado 100% en Linux. Cualquier  fabricante puede usar este sistema operativo, los únicos requisitos a cumplir son las especificaciones que Google exige a todos por igual, a nivel de pantalla táctil, numero de colores de la pantalla, potencia de cpu… Al ser un sistema abierto, podemos encontrar desde móviles a tablets, incluso relojes, neveras y microondas que lo incorporan.

 

Hello Android! (I)Posi, es una nevera Android

 

Siguiendo con esa filosofía abierta, una aplicación Android puede controlar todo el dispositivo. Significa que todas las características de ese telefono, tablet o lo que sea podremos utilizarlas en nuestro programa, tanto si es la lista de contactos como el GPS, realizar llamadas de forma automática, grabar sonido…

Dicho así puede sonar muy bien… o muy mal. Si no hubiera ningún control, una aplicación malintencionada podría robarnos información del teléfono, llamar a números sin nuestro permiso e infinidad de trastadas más, sin pedir permiso siquiera.

Afortunadamente no es así, Android obliga a cualquier app que publiquemos en Google Play a declarar qué permisos necesita. Así, cuando vamos a instalar algo en nuestro teléfono aparece una ventana similar a ésta:

 

Hello Android! (I)El aspecto puede variar, según tu teléfono

Si nuestro flamante «Buscaminas» que acabamos de instalar requiere acceso al GPS, Contactos de Usuario y Cámara de fotos… Muy confiable y conocida debe ser la empresa, para que queramos tenerlo.

2. Arquitectura interna

Android se programa en Java, y a parte de piques legales que tienen Google y Oracle, el funcionamiento es muy similar a cualquier aplicación escrita en este lenguaje. Como una imagen vale más que 1000 palabras…

Hello Android! (I)

Como podemos ver en la imagen, la «base» en la que se apoya todo es el kernel de linux (en rojo), el sistema operativo. Éste es el que se encarga de funciones como encender la pantalla, sonido, gestión de la batería y en general, control del hardware a bajo nivel.

Encima de éste (en verde) tendremos las librerías básicas como son el gestor de base de datos, las conexiones seguras SSL, reproducción de audio/video y el acceso a internet.


En Application Framework (azul) tenemos la capa que se encarga de utilizar las librerías antes mencionadas, pero de una manera más amigable para el programador. La razón de esta capa, es que internamente puede cambiar el funcionamiento del teléfono, por ejemplo al actualizarlo a una versión superior, pero eso es transparente al programador ya que aunque cambie el contenido de «Libraries» su uso desde «Appliaction Framework» será exactamente el mismo.

En «Applications» están tanto las aplicaciones que vienen de serie (browser, reproductor multimedia y hasta el mismo gestor de llamadas) como las nuestras. No hay una diferencia entre aplicaciones, todas son iguales para android ya sean de sistema o el «buscaminas» que nos acabamos de instalar.

Del «Android runtime» hablaremos en el siguiente apartado.

Esta es la visión estática de la arquitectura, pero ¿qué pasa cuando se ejecuta una aplicación?

3. Ejecución de una aplicación en tiempo real

De nuevo una imagen, para hacernos una idea

Hello Android! (I)

Como podéis ver gracias a mis maravillosas dotes de dibujo, cada aplicación que se ejecuta en el dispositivo tiene su propia «máquina virtual». Una máquina virtual es como una CPU propia para cada aplicación, lo que significa que si falla una de ellas, las demás aplicaciones no se verán afectadas y seguirán funcionando.

Siendo realista, esto no es gratis. Los dispositivos Android se ven muy beneficiados de una buena memoria, vamos que un Android 4.0 mínimo debería tener 1 GB de RAM para funcionar de una manera fluida.

Hello Android! (I)

Histórico de las versiones de Android
Las últimas requieren más memoria pero son mucho más potentes

Volviendo a las aplicaciones, hemos dicho que funcionan en máquinas virtuales diferentes. Esto tiene otra ventaja, no comparten información entre ellas. Dicho así puede parecer un inconveniente, pero es por seguridad y que una aplicación malintencionada no pueda extraer información de las otras o corromper los datos.

Existen maneras de compartir información entre ellas sin vulnerar esta seguridad, esto es con los «Intents» (hablaremos de ellos a fondo en la siguiente entrega), por ahora diré que cuando tocáis una dirección de e-mail desde dispositivo, seguramente os sale una ventana para escoger cómo queréis escribir ese mensaje (gmail, correo estándar o lo que tengáis). Esto es un «intent», Android sabe que queremos escribir un email, y nos ofrece todos los programas instalados que son capaces de realizar esta acción.

Hello Android! (I)

4. Gestión de memoria

En Android no tenemos que preocuparnos de cerrar las aplicaciones. Esto es algo que choca al principio, parece que echamos de menos el botón «salir» o al menos a mí me pasaba. En realidad es más eficiente tener el programa abierto permanentemente que cargarlo en memoria cada vez. Esto no significa que una vez ejecutemos una app, esté «eternamente» en memoria, sino que el mismo sistema decidirá, cuando le falte memoria, qué aplicaciones va a cerrar. Las que tienen más números son:

– Las que no se están mostrando en este instante

– Las que menos se utilizan

– Las que más recursos consumen

Cuanto más memoria tenga nuestro dispositivo, menos probable es que Android nos cierre las aplicaciones. Aun así, como nunca sabremos dónde va a instalar el usuario nuestra aplicación, habría que guardar la información para protegerla de cierres inesperados. Veremos de qué forma hacerlo en la próxima entrega, para hacer que funcione tanto en el «Super-Mega-Ultra-Galaxy XVI» como en el «Andloid Jaldin Plohibido» que nos regaló nuestro primo Pepe.

Bueno espero que os haya parecido interesante, y si queréis más hasta la próxima entrega!

¡Saludos!

2Comentarios

  • Genial, formato de tu blog! ¿Cuanto tiempo llevas bloggeando? haces que leer en tu blog sea ameno. El aspecto total de tu web es currado, al igual que el material contenido!
    Saludos

    [url=http://fransolana.com/category/fotografo-bodas-torrejon-de-ardoz-alcala-de-henares-madrid/boda]fotografo alcala de henares[/url]

  • Esta web es realmente un paseo a través de toda la información que deseaba sobre este este tema tan aditivo y no sabía a quién preguntar .

Escribe un comentario