tema 2: introducción a android - plataforma de...

10
Android es un sistema operativo basado en el Kernel de Linux diseñado principalmente para dispositivos móviles con pantalla táctil. Android Fue desarrollado originalmente por Android Inc. Una firma comparada por Google en el año 2005.En el año 2007, Android fue presentado al publico y desde entonces no ha hecho más que crecer. Aunque en un principio Android fue desarrollado para teléfonos inteligentes, (Smartphones), hoy en día ya puede encontrarse en otros dispositivos como Relojes, Automóviles, Televisiones, etc... Android tiene las siguientes características: Diseño de dispositivo: Android es adaptable a las distintas pantallas. Almacenamiento: Android tiene soporte para el motor de base de datos SQLite. Conectividad: Android suporta distintas tecnologías de conexión (3G,4G, Wifi, Bluetooth,...) Mensajería: Android soporta mensajes SMS y MMS. Navegador Web: El Navegador Web incluido en Android soporta HTML5. Soporte de Java: Android viene incluida con una Máquina Virtual Java llamada (Dalvik(Y ahora Art(64 bits)). Soporte Multimedia: Android soporta distintos formatos multimedia tanto de vídeo como de Audio( H.264, MP4, 3GP, Mp3, Wav,etc...). Soporte para Streaming: Android viene con soporte nativo para realizar streaming. Soporte para Hardware adicional: Android soporta camaras, pantallas tactiles, GPS, acelerómetros,etc... Entorno de desarrollo: El entorno de desarrollo para Android (Existen 2 oficiales: ADT y Android Studio), provee de un emulador para poder realizar nuestros desarrollos. Google Play: Repositorio donde se pueden encontrar muchas aplicaciones de Android. Multi-Tactil: Android provee de soporte nativo para pantallas capacitivas multi-táctil. Videollamada:Android tiene soporte para video-llamadas. Multitarea: Android tiene soporte para realizar concurrencia de los distintos procesos. Características de Voz: Android provee soporte para controlar el teléfono por Voz. Tethering: Android, provee soporte para utilizar el dispositivo como punto de acceso. Android como hemos dicho anteriormente, es un sistema operativo basado en el Kernel de Linux; por Tema 2: Introducción a Android Android Características Arquitectura

Upload: vanque

Post on 06-Mar-2018

236 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

Android es un sistema operativo basado en el Kernel de Linux diseñado principalmente paradispositivos móviles con pantalla táctil.

Android Fue desarrollado originalmente por Android Inc. Una firma comparada por Google en el año2005.En el año 2007, Android fue presentado al publico y desde entonces no ha hecho más quecrecer.

Aunque en un principio Android fue desarrollado para teléfonos inteligentes, (Smartphones), hoy endía ya puede encontrarse en otros dispositivos como Relojes, Automóviles, Televisiones, etc...

Android tiene las siguientes características:

Diseño de dispositivo: Android es adaptable a las distintas pantallas.Almacenamiento: Android tiene soporte para el motor de base de datos SQLite.Conectividad: Android suporta distintas tecnologías de conexión (3G,4G, Wifi, Bluetooth,...)Mensajería: Android soporta mensajes SMS y MMS.Navegador Web: El Navegador Web incluido en Android soporta HTML5.Soporte de Java: Android viene incluida con una Máquina Virtual Java llamada (Dalvik(Y ahoraArt(64 bits)).Soporte Multimedia: Android soporta distintos formatos multimedia tanto de vídeo como deAudio( H.264, MP4, 3GP, Mp3, Wav,etc...).Soporte para Streaming: Android viene con soporte nativo para realizar streaming.Soporte para Hardware adicional: Android soporta camaras, pantallas tactiles, GPS,acelerómetros,etc...Entorno de desarrollo: El entorno de desarrollo para Android (Existen 2 oficiales: ADT y AndroidStudio), provee de un emulador para poder realizar nuestros desarrollos.Google Play: Repositorio donde se pueden encontrar muchas aplicaciones de Android.Multi-Tactil: Android provee de soporte nativo para pantallas capacitivas multi-táctil.Videollamada:Android tiene soporte para video-llamadas.Multitarea: Android tiene soporte para realizar concurrencia de los distintos procesos.Características de Voz: Android provee soporte para controlar el teléfono por Voz.Tethering: Android, provee soporte para utilizar el dispositivo como punto de acceso.

Android como hemos dicho anteriormente, es un sistema operativo basado en el Kernel de Linux; por

Tema 2: Introducción a Android

Android

Características

Arquitectura

Page 2: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

ello posee la siguiente Arquitectura.

Linux Kernel: Núcleo del Sistema operativo, basado en el Kernel de Linux. Es el encargado delos sistemas Base, como la seguridad, gestión de procesos,memoria, etc...Runtime de Android: Set de librerías que proporcionan gran parte de las librerías del lenguajeJava(En este caso también incluye la máquina virtual).Bibliotecas: Conjunto de bibliotecas que nos permiten utilizar las distintas características extraque no se incluyen en Java ni en el núcleo. Estas librerías están escritas en C/C++.Marco de trabajo de aplicaciones: Los desarrolladores tienen acceso a este marco por mediode APIS y son las utilizadas para crear las aplicaciones.Aplicaciones: son las distintas aplicaciones y servicios que podemos ver en nuestro dispositivoAndroid(Navegador, correo electrónico, Watsapp, etc...). En este nivel es donde desarrollaremosnuestras aplicaciones.

Una vez visto como se compone Android, vamos a estudiar como desarrollar aplicaciones para este.En primer lugar, vamos a mostrar las herramientas que tenemos disponibles y como se componen lasaplicaciones Android.

Las aplicaciones Android, estan escritas(en su mayoría) en el lenguaje Java ya que utilizan lamáquina virtual Dalvik para poder funcionar, con el Kit de desarrollo de Software de Android (AndroidSDK).

Desarrollo para Android

Aplicaciones Android

Page 3: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

el SDK de Android, nos provee todas las librerías y APIS que necesitaremos para crear lasaplicaciones para Android.

Una aplicación Android, esta empaquetada en un archivo APK, las calses Java son compiladas enarchivos .dex que son empaquetadas con el resto de recursos de la aplicación.

Cuando se ejecuta una aplicación Android, se crea un "Sandbox" o caja Negra que se ejecuta con suspropios permisos y sus propio Sistema de Ficheros.

Cada aplicación Android, se compone de:

Código de ejecución Escrito en Java.Manifiesto: define como esta estructurada la aplicación(nombre, componentes, versión,etc...).Recursos de la aplicación: distintos recursos de la aplicación; como imágenes interfaces deusuario, sonidos, preferencias, etc...

Una parte importante de una aplicación Android, son los componentes; que son las distintas partesque posee una aplicación para dar servicio al usuario o a otras aplicaciones.

Los componentes de una aplicación Java son:

Activitites: Un Activity, es una pantalla que podemos mostrar al usuario(como JFrame en JavaSwing o un formulario de HTML).Services: Servicios en Segundo plano que se ejecutan para dar servicio a la aplicación o a otrasaplicaciones.Content Providers: Los content providers son componentes de Android que proveen acceso adatos estructurados de manera que puedan definir mecanismos para obtener esos datos deforma segura y poder compartir los datos con otras aplicaciones.Broadcast Receivers: Son componentes que reciben información a partir de mensajes delsistema o de otras aplicaciones.

Para desarrollar para Android, utilizaremos un entorno de desarrollo que nos provee Google. Aunqueexisten 2 entornos de desarrollo oficiales para desarrollar para Android, nos basaremos en uno deellos puesto que es el que Google esta dando soporte ahora mismo. Los entornos de desarrollo deAndroid son:

ADT: Entorno de desarrollo basado en Eclipse; este entorno fue el primero que se utilizó peroahora Google no da soporte para este entorno.Android Studio: Este entorno de desarrollo basado en IntelliJ ha sido desarrollado por Google yes el que actualmente da soporte.

Introducción al entorno de desarrollo Android.

Page 4: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

En este curso utilizaremos Android Studio.

Para poder instlar Android Studio, necesitaremos descargarnoslo. Para ello, utilizaremos el siguienteenlace:

Instalación de Android Studio

Page 5: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

Descarga Android Studio

Una vez descargado, lo instalaremos en función de nuestro sistema operativo.

Nota: SI estamos en Linux, es posible que nos de un error por que no encuentra unas librerías de32Bits; podéis ver más información en este enlace:

KnowIssues

Una vez instalado, lo ejecutaremos ya que necesitaremos las librerías de las distintas versiones deAndroid e incluso configurar un emulador para probar nuestras aplicaciones.

Nota2: Para ejecutar Android Studio correctamente, necesitaremos el Java Development Kit(JDK)versión 7 o superior.

Descarga JDK 7

Una vez ejecutado, tendremos la siguiente ventana:

En esta ventana podemos crear nuestro primer proyecto; sin embargo, necesitaremos instalar lasdistintas librerías para poder crear aplicaciones con las distintas versiones de Android.

Para ello, pulsaremos en la opción de Configure, y después en la opción SDK Manager.

Page 6: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

Esta opción, nos abrirá el SDK Manager con el cual podemos seleccionar las distintas versiones deAndroid que queramos utilizar, o incluso otras opciones como las librerías para poner opciones depago a nuestras aplicaciones, driver usb, etc...

Una vez elegido, daremos a la opción de instalar los paquetes. El SDK Manager se descargará todoslos paquetes y los instalará en nuestro entorno.

Con esto, ya tendríamos nuestro entorno Preparado.

Una vez tenemos nuestro Entorno preparado, vamos a crear nuestra primera aplicación Android.

En primer lugar, en la primera pantalla que nos muestra Android Studio, pulsaremos la opción de NewProject. La cual nos abrirá un diálogo para poner el nombre de nuestra aplicación.

Mi primera Aplicación Android

Page 7: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

Una vez hemos puesto el nombre y el dominio de nuestra aplicación(además podemos elegir dondeguardarlo) pulsaremos en Next.

En esta pantalla, es importante saber que podemos crear nuestros proyectos para móviles y tabletas,pero con las últimas novedades como Relojes, Televisiones, Glass(en un futuro también para coches).

Page 8: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

Una vez elegida la versión de nuestra aplicación(recomiendo la 4.4 para empezar), pulsamos en Next.

En la siguiente pantalla elegiremos si queremos añadir una primera pantalla(Activity) a nuestroproyecto. Elegiremos Blank Activity.

Una vez elegida, pulsaremos Next y escribiremos el nombre de la Acitivity y de la interfaz.

Page 9: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

Una vez puesto el nombre, pulsaremos Finish y se creará nuestro proyecto.

Una vez creada la aplicación, vamos a mostrar la estructura de esta.

Estructura de la aplicación

Page 10: Tema 2: Introducción a Android - Plataforma de …educacionadistancia.juntadeandalucia.es/profesorado/pluginfile.php/... · Entorno de desarrollo: El entorno de desarrollo para Android

La carpeta App, tiene nuestro proyecto de aplicación para móviles; si desarrollamos también pararelojes u otros dispositivos habrá otras carpetas.Una serie de clases Java que se encuentran en la carpeta App/Main/Java.la carpeta de Recursos. La carpeta donde se encuentran los recursos de nuestra aplicación estase encuentra en App/Main/rest.El manifiesto. Indica como esta estructurada la aplicación.el Archivo build.gradle. Este archivo es importante ya que nos indica que librerías utilizará paracompilar nuestra aplicación.

Para ejecutar nuestra aplicación podemos hacerlo de 2 maneras.

1. Utilizar nuestro dispositivo Android conectándolo por USB.2. Utilizar el emulador de Android.

para ejecutarlo, solamente tenemos que pulsar la opción de ejecutar que estará arriba en la barra deherramientas; y en las opciones que nos aparecerá, seleccionaremos el dispositivo.

Nota: Recomiendo seleccionar la opción de preguntar cada vez que se ejecute.

1. Android Developers2. Viernes Androides

Ejecutar nuestra aplicación

Referencias