Download Apuntes del tema 2 en PDF Archivo
Document related concepts
no text concepts found
Transcript
Tema 2: Introducción a Android Android 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... Características 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. Arquitectura Android como hemos dicho anteriormente, es un sistema operativo basado en el Kernel de Linux; por ello posee la siguiente Arquitectura. Linux Kernel: Núcleo del Sistema operativo, basado en el Kernel de Linux. Es el encargado de los 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 lenguaje Java(En este caso también incluye la máquina virtual). Bibliotecas: Conjunto de bibliotecas que nos permiten utilizar las distintas características extra que 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 medio de APIS y son las utilizadas para crear las aplicaciones. Aplicaciones: son las distintas aplicaciones y servicios que podemos ver en nuestro dispositivo Android(Navegador, correo electrónico, Watsapp, etc...). En este nivel es donde desarrollaremos nuestras aplicaciones. Desarrollo para Android 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 las aplicaciones Android. Aplicaciones Android Las aplicaciones Android, estan escritas(en su mayoría) en el lenguaje Java ya que utilizan la máquina virtual Dalvik para poder funcionar, con el Kit de desarrollo de Software de Android (Android SDK). el SDK de Android, nos provee todas las librerías y APIS que necesitaremos para crear las aplicaciones para Android. Una aplicación Android, esta empaquetada en un archivo APK, las calses Java son compiladas en archivos .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 sus propios 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 de usuario, sonidos, preferencias, etc... Una parte importante de una aplicación Android, son los componentes; que son las distintas partes que 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 Java Swing o un formulario de HTML). Services: Servicios en Segundo plano que se ejecutan para dar servicio a la aplicación o a otras aplicaciones. Content Providers: Los content providers son componentes de Android que proveen acceso a datos estructurados de manera que puedan definir mecanismos para obtener esos datos de forma segura y poder compartir los datos con otras aplicaciones. Broadcast Receivers: Son componentes que reciben información a partir de mensajes del sistema o de otras aplicaciones. Introducción al entorno de desarrollo Android. Para desarrollar para Android, utilizaremos un entorno de desarrollo que nos provee Google. Aunque existen 2 entornos de desarrollo oficiales para desarrollar para Android, nos basaremos en uno de ellos puesto que es el que Google esta dando soporte ahora mismo. Los entornos de desarrollo de Android son: ADT: Entorno de desarrollo basado en Eclipse; este entorno fue el primero que se utilizó pero ahora Google no da soporte para este entorno. Android Studio: Este entorno de desarrollo basado en IntelliJ ha sido desarrollado por Google y es el que actualmente da soporte. En este curso utilizaremos Android Studio. Instalación de Android Studio Para poder instlar Android Studio, necesitaremos descargarnoslo. Para ello, utilizaremos el siguiente enlace: 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 de 32Bits; 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 de Android 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 las distintas 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. Esta opción, nos abrirá el SDK Manager con el cual podemos seleccionar las distintas versiones de Android que queramos utilizar, o incluso otras opciones como las librerías para poner opciones de pago a nuestras aplicaciones, driver usb, etc... Una vez elegido, daremos a la opción de instalar los paquetes. El SDK Manager se descargará todos los paquetes y los instalará en nuestro entorno. Con esto, ya tendríamos nuestro entorno Preparado. Mi primera Aplicación Android 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 New Project. La cual nos abrirá un diálogo para poner el nombre de nuestra aplicación. Una vez hemos puesto el nombre y el dominio de nuestra aplicación(además podemos elegir donde guardarlo) 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). 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 nuestro proyecto. Elegiremos Blank Activity. Una vez elegida, pulsaremos Next y escribiremos el nombre de la Acitivity y de la interfaz. Una vez puesto el nombre, pulsaremos Finish y se creará nuestro proyecto. Estructura de la aplicación Una vez creada la aplicación, vamos a mostrar la estructura de esta. La carpeta App, tiene nuestro proyecto de aplicación para móviles; si desarrollamos también para relojes 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 esta se 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á para compilar nuestra aplicación. Ejecutar 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 de herramientas; y en las opciones que nos aparecerá, seleccionaremos el dispositivo. Nota: Recomiendo seleccionar la opción de preguntar cada vez que se ejecute. Referencias 1. Android Developers 2. Viernes Androides