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