Interfaces de usuario [Introducción a Android]



Documentos relacionados
Interfaces de usuario [Introducción a Android]

Desarrollo de apps para móviles Android. Entorno de desarrollo

1.1. Instalación del entorno de desarrollo

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

Desarrollo de apps para móviles Android. Introducción a Android

Tema 2: Introducción a Android

AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google


DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire tw: martosfre

Tutorial 1. Instalación del entorno de desarrollo de Android. Curso de perfeccionamiento: Programación de Android TUTORIAL 1: INSTALACIÓN DEL SOFTWARE

Capitulo 1: Plataforma Android

TEMA 1. Introducción

Unidad I. Introducción a la programación de Dispositivos Móviles

CAPÍTULO 1. Visión general y entorno de desarrollo... 21

Visión general y entorno de desarrollo

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

Taller Caldum Introducción al desarrollo Android

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

Guía de instalación del software de la asignatura

Entorno de desarrollo Instalación y configuración


MANUAL DE USUARIO Guía de Entregas con Subversion de proyectos de movilidad

Instalación De ANDROID STUDIO

SISTEMAS OPERATIVOS DE DISPOSITIVOS MÓVILES HÉCTOR DOMÍNGUEZ KRYSLER PINTO

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

Cursos de orientación profesional

Ejecutar el instalador y seleccionar los paquetes necesarios. En nuestro caso son los siguientes: Android SDK Tools (ya vendrá instalado) Android SDK

Breve introducción a: Por: Oscar Salguero Real Action!

Sistemas Operativos. Introducción. Actividades. Soluciones

Lectura 2: El Sistema Operativo y sus Funciones

Presentación y objetivos

Instalación del entorno de desarrollo

Guía Rápida de Inicio

PROGRAMACIÓN DE SMARTPHONE MEDIANTE ANDROID

Unidad II. Interfaz Grafica

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Reservados todos los derechos.

WEB APP VS APP NATIVA

COMO CREAR UN PROYECTO EN ANDROID. Para crear un proyecto en androide se necesitamos los siguientes software para realizar lo en un simulador.

Los distintos navegadores para movernos por Internet

Introducción al desarrollo para plataformas móviles con Phonegap

Abril WebApp STR- a3erp. Aplicación de registro de pedidos, albaranes y facturas para a3erp. Compatible con las principales plataformas

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

10. El entorno de publicación web (Publiweb)

MANUAL DE USO MICROSOFT LYNC ONLINE

Desarrollando con android sin conexión

Vamos a comenzar creando un nuevo proyecto de Android utilizando los siguientes parámetros en el cuadro de diálogo:

TUTORIAL DEL PROGRAMA IDMSS (IPHONE IPAD) Y GDMSS (ANDROID BLACKBERRY Y WINDOWS MOBILE)

Curso de Android con Java

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

Instalación de Campeón Plus Smart PROCEDIMIENTO PARA LA INSTALACIÓN DE CAMPEÓN PLUS SMART 14/11/2012 MALDONADO SOFTWARE MSW

CONFIGURACIÓN DE SOFTPHONES

Procedimiento de arranque de Aula Virtual Santillana: alumnos

Inicio rápido de Novell Messenger para móviles

KESDEE Equipo de Apoyo. Fecha: 03 de enero 2014

INDICE. Página 2 de 23

Manual de NetBeans y XAMPP

Visor de presupuestos en Android

Examen 2.0 Versión 1

TUTORIAL CONFIGURACION P2P VTA P _ VTA-83171

Como crear una app gratis para tu negocio con Appmakr

Instalación de Crystal Reports

Guía de Instalación de la JDK y del Eclipse

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

SYNCTHING. Herramienta de sincronización de datos vía LAN. Laboratorio de Sistemas Operativos y Redes. Caminos Diego; Zapatero R.

Sumario Instalación MDT V

Introducción a la extensión de scripting en gvsig 2.0

Servicio de VPN de la Universidad de Salamanca

Cookbook Creando un Proyecto Android (ADT-Eclipse)

GUÍA DE CONEXIÓN A TALLERES ONLINE

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación. Guía de usuario del servicio de Aula Virtual

Manual de instalación de Java Runtime Environment.

Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria.

Material Actividad de aprendizaje 1. Primeros Pasos con App Inventor

Introducción. Acerca de esta guía. Renuncia de responsabilidad. Marcas comerciales. Otros

MANUAL DE USUARIO ANTIVIRUS BANDA ANCHA

MANUAL DE SHAREPOINT Por: Área de Administración de Aplicaciones.

TP Nº 2 Mobile App. Ramiro Giunta Sistemas de Diseño Gráfico Cátedra Wolkowicz 2015

- Qué es una Máquina Virtual?

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4

Programa Maestro. E-Learning Class v 6.0

Cómo abrir Unidades MALTED

GUÍA DE ACCESO EXTERNO A LA PLATAFORMA ORFEO SGD ORFEO VERSION 3.9.7

INTRODUCCIÓN.

Procedimiento de instalación de Aula Virtual Santillana en Windows: Alumnos

Archivo Léame para la Impresora fotográfica digital Kodak ML-500

Guía rápida del usuario. Disco duro virtual.

osoftware para Aprendizaje de Sistemas Operativos IA-32 (en Windows de 32 Bits)

Servicio de Informática

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

Manual de instalación y manejo de CyberTracker

Se trata de una herramienta de desarrollo visual muy fácil de usar, con la que incluso los no programadores podrán desarrollar sus aplicaciones.

Propuesta ANDROID ATC

Sharpdesk Móvil V1.1 Manual de funcionamiento

Guía de resolución de incidencias DVD-ROM Oxford Digital

MANUAL CONFIGURACIÓN P2P EZVIZ HIKVISION

Instalación del Admin CFDI

Pág. Tabla de contenido

Sophos Anti-Virus para Mac OS X, versión 4.9 guía de inicio. Para Macs en red con Mac OS X

Transcripción:

Interfaces de usuario [Introducción a Android] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-P Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 1 / 72

Principales plataformas para dispositivos móviles Principales plataformas para dispositivos móviles 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 2 / 72

Principales plataformas para dispositivos móviles Principales plataformas para dispositivos móviles I Existe una gran variedad de plataformas para dispositivos móviles. Symbian (Symbian Foundation). Lanzado en 1997, las versiones actuales son la 9.5 y 10.1, siendo Nokia el principal referente. Blackberry OS (Blackberry Limited). Lanzado en 2003, las versiones actuales son la 7.0 y la 7.1. En 2013 lanzan Blackberry 10 basado en un diferente sistema operativo: QNX. iphone OS (Apple). Lanzado en 2007, hoy en día se encuentran en la 7a. generación con el iphone 5C y el iphone 5S. Windows Phone (Microsoft). Lanzado en 2010, las versiones originales son Windows Phone 7 y Windows Phone 8. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 3 / 72

Principales plataformas para dispositivos móviles Principales plataformas para dispositivos móviles II Palm OS (Palm Inc). Lanzado en 1996. También se conoce como Garnet OS (desde la versión 5). Aunque en 2010 HP compró Palm y lo mantuvo nombrad como Palm hasta 2011. Open WebOS (Palm). Lanzado en 2009, la versión más reciente es la 3.0.5. Primero lo compró HP en 2010 y en 2013 HP lo vendió a LG Electronics. Firefox OS (Mozilla). Lanzado en Abril de 2013. Será utilizado principalmente en equipos ZTE Open pero también puede ser utilizado en dispositivos compatible con Android. Asha platform (Nokia). Lanzado en Junio de 2013. Será utilizado en dispositivos Nokia Asha 501. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 4 / 72

Los orígenes de Android 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 5 / 72

Los orígenes de Android I Antes de introducir Android vale la pena revisar un poco la historia de Google. Google Inc. fue fundada por Larry Page y Sergey Brin mientras realizaban sus estudios de doctorado en la Universidad de Stanford. Su asesor era el México-Americano Héctor Molina, sin embargo dejaron el doctorado para crear Google. Así, Google nació el 4 de septiembre de 1998. La misión de Google (en sus propias palabras) es to organize the world s information and make it universally accessible and useful Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 6 / 72

Los orígenes de Android II En 2006 Google colocó sus oficinas principales (Googleplex) en Mountain View, California. Entre sus principales productos están: Gmail. Google Maps. Google Drive. Google+. Chrome OS (para la netbook conocida como Chromebook) Android. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 7 / 72

Los orígenes de Android III Uno de los edificios del Googleplex. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 8 / 72

Los orígenes de Android IV Android es un sistema operativo basado en Linux diseñado para dispositivos móviles. Fue desarrollado por Android Inc. en 2003. Android, Inc. fue fundada en Palo Alto, California, en octubre de 2003 y tenía el respaldo financiero de Google. Los fundadores fueron Andy Rubin, Rich Miner, Nick Sears y Chris White. En 2005 Google compró Android Inc. Android fue presentado en 2007 por el consorcio Open Handset Alliance. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 9 / 72

Los orígenes de Android V Open Handset Alliance (OHA) es un consorcio fundado en 2007, liderado por Google y otras 30 firmas. Actualmente cuenta con más de 80 firmas. OHA pretende el desarrollo de estándares para dispositivos móviles. Entre las principales firmas se encuentran la de Google, Sony, Dell, Intel, Motorola, Texas Instruments, Samsung Electronics, LG Electronics, T-Mobile y Nvidia. Android es una plataforma de código abierto, desde los módulos de bajo nivel Linux, las librerías nativas, hasta el marco de trabajo (framework) para aplicaciones completas. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 10 / 72

Los orígenes de Android VI Google distribuye Android bajo la Licencia Apache de manera que cada quien puede usarlo y extenderlo para sus propios propósitos. Aunque también existen algunas librerías que fueron reescritas y distribuidas bajo diferentes licencias. Google decidió respaldar el proyecto Android con la intención de que éste estuviera donde sea. Recordemos que el negocio de Google se encuentra en el hecho de vender publicidad. De manera que si muchos utilizan Android entonces Google puede proveer servicios adicionales sobre este. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 11 / 72

Los orígenes de Android VII Esto marca una diferencia respecto a los modelos de negocios que dependen de la venta de sus licencias. En noviembre de 2007 se lanza la primera versión de Android SDK (Software Development Kit). En 2008 aparece el primer móvil con Android, el T-Mobile G1. En 2009 Google lanza Android con la característica del teclado en pantalla. En 2010 Android era la segunda plataforma más vendida para dispositivos móviles, sólo detrás de Blackberry. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 12 / 72

Los orígenes de Android VIII En 2011 se lanzan las versiones 3.0, 3.1, 3.2 y 4.0, con esto Android pasa a cubrir más del 50 % del mercado de dispositivos móviles. En 2012 Google reemplaza la tienda de descargas Android Market por Google Play Store, unificando la descarga de aplicaciones con la de contenidos. Hoy en día Android abarca más del 70 % del mercado de dispositivos móviles. Las principales características de Android son: Plataforma abierta. Adaptable a cualquier tipo de hardware. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 13 / 72

Los orígenes de Android IX Portabilidad. Arquitectura basada en componentes inspirados en Internet. Filosofía de conectado siempre a Internet. Diversidad de servicios incorporados. Un nivel de seguridad aceptable. Optimizado para baja potencia y poca memoria. Alta calidad de gráficos y sonido. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 14 / 72

Los orígenes de Android X SO Apple ios 6 Android 4.2 Windows BlackBerry Phone 7 OS 7 Compañía Apple OHA Windows RIM Núcleo Mac OS X Linux Windows Mobile OS Lenguajes Obj.-C, C++ Java,C++ C#, otros Java Año 2007 2008 2010 2003 Flash No Si No Si HTML5 Si Si Si Si Tienda App Store Google Play Windows Blackberry Marketplace App Word # Apps 400,000 300,000 50,000 30,000 Diversidad IPhone Alta Baja Baja Mem., ext. No Si No Si Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 15 / 72

Arquitectura de Android Arquitectura de Android 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android Arquitectura de Android Versiones de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 16 / 72

Arquitectura de Android Arquitectura de Android I La arquitectura de Android se encuentra formada por 4 capas: 1 Aplicaciones. Por ejemplo: Inicio, contactos, teléfono, navegador. 2 Entrono de aplicación. Por ejemplo: El sistema de vistas, el manejador de recursos, el manejador de actividades, entre otros. 3 Librerías nativas y Runtime de Android. Por ejemplo: SSL y la máquina Virtual Dalvik. 4 Núcleo Linux. Controladores de dispositivo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 17 / 72

Arquitectura de Android II Arquitectura de Android La arquitectura de Android. Figura : Tomado de http://www.androidcurso.com. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 18 / 72

Arquitectura de Android Arquitectura de Android III Aplicaciones Son todas las aplicaciones instaladas en Android. Las aplicaciones corren sobre la máquina virtual Dalvik. Generalmente dichas aplicaciones están escritas en Java y se suele utilizar el Android SDK. Para desarrollar en C/C++ se suele utilizar el Android NDK (Native Development Kit). Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 19 / 72

Arquitectura de Android Arquitectura de Android IV Entorno de aplicación El SDK de Android es compatible en gran parte con el entorno de ejecución de Java (JRE). Los servicios ofrecidos son: Vistas. Que es la parte visual de los componentes. Manejadores de recursos. Propios del dispositivo. Manejador de actividades. Permite un sistema de navegación entre las aplicaciones. Manejador de notificaciones. Permite que las aplicaciones muestren alertas en la barra de estado. Proveedores de contenidos. Para acceder a los datos de otras aplicaciones. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 20 / 72

Arquitectura de Android Arquitectura de Android V Librerías nativas Son un conjunto de librerías utilizadas en varios componentes de Android. Están compiladas en el código nativo del procesador. Algunas de éstas son: System C Library. Viene de la librería libc de C. Media Framework. Basada en PacketVideo s OpenCORE. Para audio, vídeo e imágenes. Surface Manager. Para el acceso a gráficos 2D y 3D. WebKit. Para soportar el navegador. SGL. Motor de gráficos 2D. Librerías 3D. Basadas en OpenGL. SSL. Para los servicios de cifrado. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 21 / 72

Arquitectura de Android Arquitectura de Android VI Runtime de Android Está basado en el concepto de máquina virtual. Debido a que la máquina virtual de Java era muy pesada para los dispositivos móviles, Google decidió crear Dalvik. Dalvik permite ejecutar programas con un mejor uso de memoria. Cada proceso corre en un sólo proceso Linux y con su propia instancia de Dalvik. Además, Dalvik delega a Linux algunas funciones como el threading. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 22 / 72

Arquitectura de Android VII Arquitectura de Android Java contra Dalvik. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 23 / 72

Arquitectura de Android Arquitectura de Android VIII Runtime de Android El núcleo de Androd es Linux. Esta capa proporciona los siguientes servicios: Seguridad. Manejo de memoria. Multiproceso. Controladores de dispositivos. Esta es la única capa dependiente del hardware. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 24 / 72

Versiones de Android Versiones de Android 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android Arquitectura de Android Versiones de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 25 / 72

Versiones de Android Versiones de Android I Oficialmente existen 18 API s de Android al día de hoy. 1 Android 1.0 (septiembre de 2008). No se utilizó comercialmente. 2 Android 1.1 (febrero de 2009). Se corrigieron los errores de la versión anterior. 3 Android 1.5 (abril de 2009). Cupcake. Se incorpora el teclado en pantalla con predicción de texto y la grabación de audio y vídeo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 26 / 72

Versiones de Android II Versiones de Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 27 / 72

Versiones de Android III Versiones de Android 4 Android 1.6 (septiembre de 2009). Donut. Permite búsquedas avanzadas sobre el documento, así como incorpora gestures y muti-touch. Soporte para resolución de pantallas WVGA (Wide Video Graphics Array) y mejoras en la aplicación de la cámara. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 28 / 72

Versiones de Android IV Versiones de Android 5 Android 2.0 (octubre de 2009). Éclair. Casi no cuenta con usuarios. Incorpora una API para manejar Bluetooth. 6 Android 2.01 (noviembre de 2009). Servicio centralizado para el manejo de cuentas y mejora la gestión de contactos. 7 Android 2.1 (enero de 2010). Es una actualización menor de Éclair. Se introduce el reconocimiento de voz para introducir dictados sin el teclado. Además de puede saber el estado de la señal de la red del dispositivo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 29 / 72

Versiones de Android V Versiones de Android 8 Android 2.2 (mayo de 2010). Froyo. Se mejora la velocidad de ejecución de la aplicaciones. Se agrega soporte para Adobe Flash 10.1 y el motor Javascript. Se facilita el manejo del reconocimiento de voz para las aplicaciones. Se mejora la conectividad con la opción de poder proveer acceso a Internet a otros dispositivos mediante nuestro dispositivo. 9 Android 2.3 (diciembre de 2010). Gingerbread. Mejora la interfaz de usuario. Se destacan las funcionalidades cortar, copiar y pegar, así como un teclado en pantalla multitáctil. Se incluye soporte para varias cámaras. Se mejora la animación y la capacidad de respuesta en aplicaciones como juegos. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 30 / 72

Versiones de Android VI Versiones de Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 31 / 72

Versiones de Android VII Versiones de Android 10 Android 2.3.3-2.3.7 (febrero de 2011-septiembre de 2011). Se da soporte de chat de vídeo o voz, usando Google Talk. Mejoras al software de la cámara y la eficiencia de la batería. Da soporte a Google Wallet para el Nexus S 4G. 11 Android 3.0 (febrero de 2011). Honeycomb. Las características son: La resolución por defecto pasa a WXGA (1200x800). Se mejora la reproducción de animaciones 2D/3D gracias al renderizador OpenGL acelerado por hardware. Soporte para procesadores multinúcleo. Soporte para la protección de derechos musicales. 12 Android 3.1 (mayo de 2011). Manejo de dispositivos conectados por USB. Protocolo de transferencia de fotos y vídeo PTP/MTP. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 32 / 72

Versiones de Android VIII Versiones de Android 13 Android 3.2 (julio de 2011). Optimizaciones para diferentes dispositivos. Zoom compatible para aplicaciones de tamaño fijo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 33 / 72

Versiones de Android IX Versiones de Android 14 Android 4.0 (octubre de 2011). Ice Cream Sandwich. Las características son: Se unifican las versiones 2.x y 3.x en una sola compatible con cualquiera de los dos. Los botones físicos son reemplazados por el teclado en pantalla (como en 3.x). Aparece un gestor de tráfico de datos por Internet. Aparecen herramientas para la edición de imágenes en tiempo real. Se mejora la comunicación (NFC Near field communication, esp.: Comunicación de Campo Cercano). 15 Android 4.0.3 (diciembre de 2011). Se incluyen mejoras para redes sociales, calendario, revisor ortográfico, texto a voz, bases de datos, entre otros. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 34 / 72

Versiones de Android X Versiones de Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 35 / 72

Versiones de Android XI Versiones de Android 16 Android 4.1 (julio de 2012). Jelly Bean. Se mejora la fluidez de la interfaz de usuario. Lo iconos de escritorio pueden ajustar su tamaño y colocarse en algún sitio de forma automática. Se introducen mejoras en el Google Search (resultados en forma de ficha). La función Google Now permite utilizar la información de ubicación, agenda y hora en las búsquedas. Se incorporan soportes para usuarios internacionales como la instalación de teclados. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 36 / 72

Versiones de Android XII Versiones de Android 17 Android 4.2 (noviembre de 2012). La principal mejora es que se permiten crear cuentas de usuario en el mismo dispositivo (sólo en tabletas). Cada cuenta puede tener sus propias aplicaciones y config. Se incorpora un nuevo teclado predictivo. 18 Android 4.3 (julio de 2013). Creación de perfiles restringidos basados en el usuario principal. Soporte de Bluetooth Low Energy (LE). Uso de Wi-Fi para ayudar a determinar la ubicación mediante el escaneo de los puntos de acceso cercanos. Soporte nativo para OpenGL ES 3.0. Más características están en: http://developer.android.com/about/versions/android-4.3.html. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 37 / 72

Versiones de Android XIII Versiones de Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 38 / 72

Versiones de Android XIV Versiones de Android 19 Android 4.4 (.1,.2,.3) (septiembre de 2013). KitKat Sólo requiere 512 MB en RAM para ejecutarse. Sensores implementados sobre hardware para detección de pasos y contador de pasos. Interacción estándar para todas las aplicaciones que manejen SMS y MMS. Incluye una implementación completamente nueva de WebView que está basada en Chromium. Chromium es un navegador de código abierto que tiene como objetivo construir un modo más seguro, rápido y estable para todos los usuarios de Internet. Más características están en: http://developer.android.com/about/versions/kitkat.html. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 39 / 72

Versiones de Android XV Versiones de Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 40 / 72

Versiones de Android XVI Versiones de Android Versiones de Android en el Mercado hasta 2013 Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 41 / 72

Versiones de Android XVII Versiones de Android Oficinas de Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 42 / 72

Versiones de Android XVIII Versiones de Android Android Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 43 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 44 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android I Para el desarrollo de aplicaciones en Android requerimos: Máquina virtual de java (Java Runtime Enviroment -JRE) 5.0 o superior. Eclipse (Eclipse IDE for Developers). Android SDK (Google). Eclipse Plug-in (Android Development Kit-ADT). Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 45 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android II Instalación de la máquina virtual 1 Revisar si existe o no una máquina virtual ya instalada. 2 Si no existe entonces descargarla de http://www.java.com/es/download. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 46 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android III Instalación de Eclipse Por qué Eclipse? Por que es libre, el más recomendado para Andriod y es soportado por Google. Se sugiere cualquier versión a partir de la 3.3.1. 1 Ir al sitio http://www.eclipse.org/downloads para descargarlo. 2 Eclipse sólo requiere ser descomprimido para comenzar a utilizarse. 3 Al ejecutarlo por primera vez, solicitará una carpeta la cual será utilizada como espacio de trabajo (workspace). 4 Entonces aparecerá la ventana de bienvenida. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 47 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android IV Instalación del Android SDK de Google 1 Ir al sitio http://developer.android.com/sdk/ para descargarlo. 2 Tampoco requiere instalarse, sólo descargar los archivos y descomprimirlos. 3 Ejecutar el SDK Manager.exe que se encuentra dentro de los archivos comprimidos. 4 Finalmente se debe instalar la(s) versión(es) de Android para la cual se desea realizar el desarrollo o bien se puede instalar todo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 48 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android V Instalación del plug-in Android para Eclipse (ADT) I 1 Ejecutar Eclipse y seleccionar Help>Install New Software. 2 Seleccionamos la parte que dice Add... que se encuentra en la parte superior de la ventana abierta. 3 En el cuadro que aparece (Add Repository) escribir en el campo Name: Plug-in Android y en el campo Location: http://dl-ssl.google.com/android/eclipse. (http https). 4 En el recuadro que aparece de Available Software debe aparecer Developer tools. 5 Seleccionamos los paquetes de Developer tools y damos Next. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 49 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android VI Instalación del plug-in Android para Eclipse (ADT) II 1 Leemos y aceptamos la licencia e instalamos cualquier dependencia y presionamos Finish. 2 Se deberá reiniciar Eclipse. 3 Una vez reiniciado Eclipse abrimos la opción Window>Preferences y en la ventana que aparece seleccionamos la opción Android que aparece del lado izquierdo. 4 Del lado derecho buscamos el botón Browse... y buscamos la ruta donde descomprimimos el Android SDK. 5 Finalmente presionamos el botón Apply para aplicar los cambios y luego OK. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 50 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android VII Creación de un dispositivo virtual de Android I 1 En Eclipse ejecutamos el botón Android Virtual Device (AVD) Manager (cerca del botón de guardar), cuando es la primera vez que se ejecuta aperece una lista vacia, de lo contrario aparecerán los dispositivos virtuales creados. 2 Solicitamos crear un nuevo AVD mediante el botón New... 3 Introducimos lo siguientes datos: AVD Name: Nombre del nuevo dispositivo a crear. Device: Puede ser uno real (Nexus 7) o uno genérico el cual permite indicar el tamaño de la pantalla y la resolución del dispositivo. Target: Versión SDK que será el dispositivo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 51 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android VIII Creación de un dispositivo virtual de Android II 1 Más datos a introducir: CPU/ABI. Tipo de CPU y arquitectura que se va a emular. Lo común es seleccionar ARM (familia de microprocesadores producidos por la empresa ARM Holdings -Advanced RISC Machines-). Keyboard: Si se selecciona se supondrá que el dispositivo tiene teclado físico. Skin: Si se selecciona se mostrarán a la derecha del dispositivo una serie de botones como el volumen, on/off, teclas de navegación, retorno. Front/back Camera: Permite activar la emulación de la cámara delantera y trasera. Memory options: Memoria que se dedicará al emulador y además la memoria que se dedicará a la máquina virtual. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 52 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android IX Creación de un dispositivo virtual de Android III 1 Más datos a introducir: Internal Storage: Memoria interna del dispositivo. Determinara el número de aplicaciones y datos a instalar. Esta se tomará de nuestro disco duro. SD Card: Memoria externa del dispositivo. Size creará un nuevo directorio y File elegirá uno existente. Snapshot: Si se selecciona se podrá congelar la ejecución del dispositivo en un determinado instante. Use Host GPU: Se habilita la emulación hardware para gráficos OpenGLES. Permitirá una navegación entre ventanas más fluida. 2 Nota: No es posible seleccionar simultáneamente las opciones anteriores (Snapshot y Use Host GPU). 3 Aparecerá en la ventana anterior el nuevo dispositivo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 53 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android X Creación de un dispositivo virtual de Android IV 1 Para inicializarlo lo seleccionamos y presionamos el botón Start... 2 En la ventana que aparece de Launch Options: Scale display to real size: permite elegir el tamaño del dispositivo en nuestro entorno. Wipe user data: Permitirá limpiar los datos de usuario. Launch from snapshot: Permite iniciar el teléfono en algún punto anterior. Save to snapshot: Permite congelar la aplicación al cerrarla para recargarla en un mismo punto. 3 Finalmente iniciamos la creación del dispositivo. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 54 / 72

Instalación del entorno de desarrollo para Android Instalación del entorno de desarrollo para Android XI Teclas de acceso rápido en el emulador Inicio: Tecla Home. F2 Tecla Menú. Esc: Tecla de volver. F7: Tecla On/Off. Ctrl-F5/Ctrl-F6 o KeyPad +/-: Control de volumen de audio. Ctrl-F11 o KeyPad 7: Cambia la orientación entre horizontal y vertical. Alt-intro: Visualiza el emulador a pantalla completa. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 55 / 72

Hola mundo en Android Hola mundo en Android 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 56 / 72

Hola mundo en Android Hola mundo en Android I Ejecutar Eclipse y ejecutar el menú File>New>Project. En la ventana New Project que aparece debe existir el directorio Android. Dentro de éste seleccionamos la opción Android Application Project. Proporcionamos el nombre de la aplicación: Hola Mundo. A continuación se muestra la descripción de algunos campos relevantes: Minimum required SDK: Es el valor mínimo de API que requerirá la aplicación y por tanto no podrá ejecutarse en versiones anteriores. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 57 / 72

Hola mundo en Android Hola mundo en Android II Target SDK: Es la versión mas alta con la que la aplicación se pone a prueba. Compile With: Es la versión de la plataforma con la que compila la aplicación. Se recomienda una versión reciente para añadir las mejoras incluidas en las nuevas versiones durante el desarrollo. Theme: Estilo que se utiliza en la aplicación, tales como colores y fuentes. Una vez decidido el nombre del proyecto y demás elementos principales presionamos el botón Next. La siguiente ventana permite decidir: Crear un icono personalizado para la aplicación. Crear una actividad. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 58 / 72

Hola mundo en Android Hola mundo en Android III Crear el proyecto como librería. Crear el proyecto en el espacio de trabajo. Agregar el proyecto a otros conjuntos de trabajo. Elegimos las opciones deseadas y presionamos el botón Next. Si se seleccionó la opción de crear un icono en la siguiente ventana podremos hacerlo y finalmente presionamos el botón Next. Si se seleccionó la opción de crear una actividad entonces en la siguiente ventana se podrá configurar su tipo. El valor por defecto es Blank Activity. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 59 / 72

Hola mundo en Android Hola mundo en Android IV En la siguiente ventana se indicará el nombre de la actividad, el layout asociado y el tipo de navegación. Finalmente presionamos el botón Finish. Ver MainActivity.java. Qué es una actividad? Es una entidad de una aplicación que permite representar cada una de las pantallas de nuestra aplicación. De manera que el usuario sólo interactúa con una de ellas a la vez y va navegando entre ellas. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 60 / 72

Hola mundo en Android Hola mundo en Android V El método oncreate() permite inicializar la aplicación, es como el main() de Java. El método oncreateoptionsmenu() será llamado por el sistema cuando se requiera la creación del menú de la actividad. Básicamente la aplicación ya está creada. A continuación se describe la manera para ejecutar la aplicación: En un emulador. En un dispositivo real. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 61 / 72

Hola mundo en Android Hola mundo en Android VI Ejecución en el emulador Seleccionamos la opción del menú Run>Run (Ctrl F11). En la ventana que aparece seleccionamos Android Application y presionamos el botón OK. Entonces Eclipse creará una configuración de ejecución para el proyecto y lanzará el emulador. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 62 / 72

Hola mundo en Android Hola mundo en Android VII Ejecución en un dispositivo real Es posible ejecutar y depurar los programas en un dispositivo desde el SDK. Pasos: Instalar el controlador Google USB utilizando el SDK Manager. Si el controlador genérico no funciona, entonces buscar el del fabricante en http://developer.android.com/tools/extras/oem-usb.html. Conectar el dispositivo a la PC. Después el sistema indicará que hay un nuevo hardware y pedirá seleccionar el controlador. Nota: En Windows si el controlador incorrecto es instalado entonces no funcionará y se tendrá que desinstalar el controlador incorrecto y tratar de instalar el correcto. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 63 / 72

Elementos de un proyecto Android Elementos de un proyecto Android 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 64 / 72

Elementos de un proyecto Android Elementos de un proyecto Android I Todo proyecto Android se conforma esencialmente de: El descriptor de la aplicación (AndroidManifest.xml). El código fuente en Java. Algunos directorios con los recursos utilizados para la aplicación. A continuación se presenta la descripción de los principales directorios: src: Directorio con el código fuente de la aplicación. gen: Directorio con el código generado de forma automática por el SDK. No tocar los archivos de este directorio. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 65 / 72

Elementos de un proyecto Android Elementos de un proyecto Android II Android x.x: Código JAR, que considera el API de Android seleccionado. Android dependencies: Son las librerías asociadas al proyecto. assets: Son los archivos y directorios que podrán ser utilizados por la aplicación. Tampoco deben modificarse los contenidos. bin: En este directorio se compila el código y se genera el.apk que contiene la aplicación final y lista para instalar. libs: Es el código JAR con las librerías que se deseen utilizar para el proyecto. res: Este directorio contiene los recursos utilizados por la aplicación. Sus principales directorios son: Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 66 / 72

Elementos de un proyecto Android Elementos de un proyecto Android III drawable: Contiene la imágenes (JPG o PNG) y descriptores de imágenes (XML). layout: Son los XML con vistas de la aplicación. menu: Archivos XML con los menús de cada actividad. values: Archivos XML con los valores de los tipos string, color y estilo. anim: Archivos XML con animaciones Tween. animator: Archivos XML con animaciones de propiedades. xml: Más archivos XML. raw: Contiene archivos que no se encuentran en formato XML. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 67 / 72

Elementos de un proyecto Android Elementos de un proyecto Android IV AndroidManifest.xml: Es la descripción de la aplicación Android. Contiene las actividades, servicios, proveedores de contenidos de la aplicación, etc. ic launcher-web.png: Será el icono de la aplicación que será utilizado en las páginas web. proguard-project.txt: Es el archivo de la herramienta de configuración ProGuard (para optimizar y ofuscar el código generado). project.properties: Es un archivo generado de forma automática por el SDK para comprobar la versión del API y otras características de instalación. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 68 / 72

Elementos de un proyecto Android Elementos de un proyecto Android V Qué es una animación Tween? Es una animación que puede realizar series de transformaciones simples (posición, tamaño, rotación y transparencia) en el contenido de un objeto View. Ej. un objeto TextView se puede mover, girar, zoom, cambiar en la transparencia al texto, etc. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 69 / 72

Componentes de una aplicación Componentes de una aplicación 1 Principales plataformas para dispositivos móviles 2 Los orígenes de Android 3 Instalación del entorno de desarrollo para Android 4 Hola mundo en Android 5 Elementos de un proyecto Android 6 Componentes de una aplicación Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 70 / 72

Componentes de una aplicación Componentes de una aplicación I Los principales componentes de toda aplicación son: Vistas (View): Son los elementos que componen la interfaz de usuario de la aplicación. Ej. Botones, entradas de texto, etc. Layout: Es una agrupación determinada de vistas (como el gestor de disposición Java). EJ. de forma lineal, en cuadrícula o por posición absoluta. Actividad (Activity): Son el conjunto de elementos de visualización (pantallas). Su objetivo es la creación de la interfaz de usuario. Servicio (Service): Son los procesos que se ejecutan en segundo plano sin la necesidad de la interacción con el usuario. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 71 / 72

Componentes de una aplicación Componentes de una aplicación II Intención (Intent): Son las acciones que podrían ser requeridas para nuestra aplicación. Ej. realizar llamadas telefónicas, visualizar un sitio web. Implica: Lanzar actividades. Lanzar servicios. Lanzar anuncios de tipo broadcast. Comunicación con servicios. Receptor de anuncios (Broadcast receiver): Sirve para recibir y reaccionar ante los anuncios de tipo broadcast. Ej. llamadas entrantes, batería baja, etc. Proveedores de contenido (Content Provider): Es el mecanismo mediante el cual las aplicaciones pueden compartir datos sin comprometer la seguridad del sistema de archivos. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 72 / 72