Curso Android - 01 Leccion - Teoria

download Curso Android - 01 Leccion - Teoria

of 8

Transcript of Curso Android - 01 Leccion - Teoria

  • Experiencia y Conocimiento para tu Vida

    Curso de Android con Java

    Todos los Derechos Reservados Global Mentoring 1

  • Experiencia y Conocimiento para tu Vida

    Este es un tiempo nico para el mundo de los celulares, en particular de los Smartphones.Este tipo de dispositivos nunca han sido tan populares. El sistema operativo Android haexpandido su mercado no solamente a este tipo de telfonos, sino tambin a tablets ytelevisores.

    La evolucin y la reduccin de costos de los Smartphones ha permitido que millones depersonas tengan acceso a este tipo de tecnologa, permitiendo llevar mucha de lainformacin consigo. Anteriormente esto solo era posible con Laptops, pero al da de hoy loscelulares son las computadoras porttiles de nuestra era.

    Millones de telfonos Android se activan diariamente, y con el uso de Google Play(anteriormente conocido como Android Market) para la distribucin de aplicaciones, losdesarrolladores de aplicaciones Android pueden poner de inmediato y al alcance de losusuarios las aplicaciones y juegos creados. Google Play es un mercado abierto, sin un procesode revisin, con el objetivo de distribuir de manera libre o de paga a los telfonos Androidque sean compatibles con las aplicaciones distribuidas.

    Pero, Qu es Android? En trminos concretos, Android es un sistema operativo basado enLinux, creado por Google y utiliza como base el lenguaje de programacin Java para eldesarrollo de aplicaciones. Google y otras compaas de dispositivos, han desarrollado unaestrategia para que este ya famoso sistema operativo se pueda instalar en smartphones,tablets, televisores, y se proyecta que sea el sistema operativo de varios tipos de dispositivosms.

    Con ms de medio milln de aplicaciones para Android publicadas en Google Play, es unhecho que este es un gran momento para participar de este mercado y de la creacin deaplicaciones Android para un mercado en crecimiento.

    En este curso vamos a estudiar cmo desarrollar aplicaciones para el sistema operativoAndroid utilizando el lenguaje de programacin Java, por lo que un conocimiento bsico deeste lenguaje es necesario para poder crear de manera exitosa estas aplicaciones. En caso deno contar con este conocimiento ponemos a su disposicin nuestros cursos Java en nuestrositio web: www.globalmentoring.com.mx

    Curso de Android con Java

    Todos los Derechos Reservados Global Mentoring 2

  • Experiencia y Conocimiento para tu Vida

    Anteriormente los programadores de bajo nivel con lenguajes como C o C++ requeran entender las caractersticas

    del Hardware sobre el que programaban, ya sea de un dispositivo en especfico o un conjunto de dispositivos del

    mismo fabricante. Adems el programador, en muchas ocasiones, estaba obligado a aprender ciertas APIs del

    fabricante para poder desarrollar sus aplicaciones, generando un cdigo muy complejo de mantener y desarrollar,

    y en muchas ocasiones las aplicaciones ya no se les daba continuidad.

    La diversidad de fabricantes de dispositivos mviles conlleva como reto contar con una plataforma estndar, open

    source, robusta, segura, entre otras caractersticas para el desarrollo de una aplicaciones mviles. Dichas

    aplicaciones deben poder ser ejecutadas en cualquier dispositivo mvil o tablet sin tener que volver a programar

    para un fabricante en especfico.

    Con la popularidad de Java y su Mquina Virtual (JVM) sabemos que es posible abstraer los detalles del hardware

    para el dispositivo que estamos desarrollando, y as el programador es libre de crear el programa una vez y

    ejecutarlo sobre cualquier dispositivo que tenga una JVM.

    Con esto en mente, y con la experiencia previa de los dispositivos mviles, se cre el sistema operativo Android.

    Como podemos observar en la figura, la arquitectura Android se divide en varias capas, y con el uso una de

    mquina Virtual llamada Dalvik, es posible abstraer el detalle del hardware al programador y as desarrollar slo

    una vez la aplicacin y ejecutarla en cualquier dispositivo que tenga una mquina virtual compatible.

    Android permite explotar los recursos del dispositivo mvil sin las restricciones que normalmente nos encontramos

    con otros sistemas operativos mviles como iOS de Apple o Windows Phone de Microsoft. Android ofrece nuevas

    posibilidades debido a que todo su ambiente de desarrollo est basado en software libre, desde el mismo Kernel

    basado en Linux, hasta las APIs para el desarrollo de las aplicaciones. El hardware es accesible a cualquier

    aplicacin Android a travs de una serie de APIs que son ejecutadas en la mquina virtual.

    En Android tanto las aplicaciones de terceros como las aplicaciones nativas son desarrolladas utilizando la misma

    API y son ejecutadas en el mismo ambiente de ejecucin. De esta manera el usuario final es libre de reemplazar

    cualquier aplicacin Nativa con aplicaciones de terceros, ofreciendo una flexibilidad y libertad nica a los usuarios

    de dispositivos mviles que cuentan con la plataforma Android.

    Curso de Android con Java

    Todos los Derechos Reservados Global Mentoring 3

  • Experiencia y Conocimiento para tu Vida

    Desde su nacimiento el sistema operativo Android ha sufrido bastantes cambios. En la figura podemos observar lahistoria de las versiones hasta el da de hoy, as como algunas de las caractersticas de cada versin. Comopodemos observar, en tan slo algunos aos Android se ha posicionado como una de las plataformas mspopulares para el desarrollo de aplicaciones mviles.

    Android Inc. fue adquirida por Google en 2005, y se comenz el desarrollo del primer sistema operativo libre paraser utilizado por defecto en los telfonos mviles, y se ha extendido al da de hoy a tablets, televisores y muchostipos de dispositivos ms. Una de las principales ventajas de Android, es que se diseo con el objetivo de que lasaplicaciones pudieran interactuar entre ellas, permitiendo reutilizar realmente los servicios, datos e interfaces (UI).En las primeras versiones de Android (2008) no se soportaba el teclado en pantalla, y obligaba a los dispositivos atener un teclado fsicamente. Por ello, se agreg un teclado en pantalla en la versin 1.5 (2009), as como otrascaractersticas tales como: grabacin de audio y video, widgets y creacin de folders.

    A finales del 2009 de liberaron 2 versiones ms de Android, permitiendo un gran crecimiento y venta dedispositivos para la navidad del 2009. Se introdujo la bsqueda avanzada as como capacidades de texto a voz.La versin 2.3 signific una mejora en todos los servicios ya disponibles, tales como el uso de la cmara,conectividad Wi-Fi, soporte OpenGL ES 2.0, mejoras en el respaldo de datos y aplicaciones, video chat, entremuchas mejoras que hacen al da de hoy esta versin sea la ms utilizada en los telfonos.La versin 3.0 se enfoc en los dispositivos Tablets, con soporte para pantallas ms grandes. Se introdujo elconcepto de fragmentos, as como capacidades similares a las aplicaciones de escritorio, tales como Action Bar,Drag-and-drop, mejoras en los widgets home-screen, as como ms controles IU y layouts para el soporte de estosnuevos dispositivos.

    La versin 4.0 surgi para unificar las versin 2.x y 3.x para permitir un nico desarrollo para telfonos y tablets.Esta unificacin permite aprovechar las nuevas caractersticas que estaban disponibles solo para las tablets, eincrementar la experiencia de usuario en los telfonos con versin 4.0

    La versin 4.1 es una mejora sobre todo en cuestiones visuales y un incremento en el performance de lasaplicaciones en general.

    Debido a que la versin Android 2.3.x est instalada en una gran cantidad telfonos, es necesario considerar cualser la versin mnima que soportaremos para el desarrollo de nuestras aplicaciones. Por ello, en este curso nosenfocaremos en aprender muchas de las caractersticas que aplican a la mayora de las versiones, y estudiaremoslas ms relevantes de la versin 4 de Android.

    Para ms informacin de las versiones de Android pueden consultar los siguientes links:http://en.wikipedia.org/wiki/Android_version_historyhttp://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

    Curso de Android con Java

    Todos los Derechos Reservados Global Mentoring 4

  • Experiencia y Conocimiento para tu Vida

    Uno de los mayores xitos de Android radica en su API de desarrollo. Android permite crear aplicaciones que son parte deldispositivo como lo es cualquier aplicacin nativa ya instalada (out-of-the-box). A continuacin mencionaremos algunas delas caractersticas ms importantes del API de Android:

    Acceso a Hardware, incluyendo Cmara, GPS y Sensores: Android incluye APIs que permite simplificar eldesarrollo sin importar el hardware sobre el que se est trabajando. Esto asegura que no necesitamos crearimplementaciones especficas para distintos dispositivos, as que podemos crear aplicaciones que deben trabajarsegn lo esperado en cualquier dispositivo que tenga una versin compatible de Android.

    Transferencia de Datos con Wi-Fi, BlueTooth y NFC: Android ofrece soporte muy completo para transferir datosentre dispositivos, incluyendo Bluetooth, Wi-Fi y Android Beam. Estas tecnologas permiten compartir datos entredispositivos, dependiendo del hardware disponible en el dispositivo utilizado.

    Mapas y Geolocalizacin: El manejo de mapas embebido con el que cuenta Android permite crear aplicaciones quede manera programtica pueden manipular los mapas de Google Maps. Adems, la integracin de un GPS y losservicios de localizacin de Google para determinar la ubicacin actual del dispositivo, permite combinarposicionamiento con mapas.

    Servicios en Segundo Plano (Background Services): Android soporta aplicaciones y servicios diseados para serejecutados en segundo plano, mientras nuestra aplicacin no est activa, debido a que solamente una aplicacinpuede estar visible a la vez.

    Base de Datos SQLite: El almacenamiento y la recuperacin de informacin de manera rpida y eficiente es bsicapara dispositivos con capacidad limitada. Android utiliza SQLite para cumplir con este objetivo. Nuestras aplicacionespueden aprovechar esta base de datos relacional para almacenar y recuperar informacin de manera segura yeficiente.

    Comparticin de Datos y Comunicacin entre Aplicaciones: Android incluye tcnicas para compartir informacinentre las distintas aplicaciones, tales como: Intents y Content Providers.

    Soporte para grficos 2D y 3D: Android provee libreras grficas para dibujos 2D y 3D con OpenGL. Adems,Android provee soporte para imgenes, video, audio, incluyendo video en formato mpeg4 y h.264.

    Optimizacin de Memoria y Administracin de Procesos: Android utiliza su propia mquina virtual para laadministracin de la memoria. Android asegura que una aplicacin responda en un tiempo determinado, de locontrario la detiene y la puede eliminar en caso de ser necesario, con el objetivo de liberar recursos. De esta maneraAndroid controla el ciclo de vida de las aplicaciones en un ambiente enfocado en hacer ms eficiente el uso dememoria de los dispositivos.

    Curso de Spring Framework

    Todos los Derechos Reservados Global Mentoring 5

  • Experiencia y Conocimiento para tu Vida

    El SDK (Software Development Kit) de Android incluye todo lo necesario para comenzar aprogramar, hacer testing y debug de nuestras aplicaciones Android:

    API de Android: Este es el ncleo del SDK de Android. Esta es la misma API queutiliza Google para crear aplicaciones nativas. Dependiendo de la versin de Androidque deseemos utilizar, es el API (Level API) que debemos descargar, segn se revisen la lmina de las versiones de Android.

    Herramientas de Desarrollo: El SDK incluye varias herramientas de desarrollo quepermiten compilar y hacer debug de las aplicaciones, de tal manera que permiteconvertir el cdigo fuente en aplicaciones ejecutables de manera transparente para elprogramador.

    Emulador de Android: El emulador de Android es un dispositivo mvil virtualcompleto. El emulador se ejecuta en un Android Virtual Device (AVD) que simula laconfiguracin del hardware, permitiendo seleccionar ciertas caractersticas para probarnuestras aplicaciones en distintos ambientes, tamaos de pantallas, entre otrascaractersticas.

    Al utilizar el emulador podemos observar cmo se visualizar y comportar nuestraaplicacin en un dispositivo real. Todas las aplicaciones Android se ejecutan en unamquina virtual Dalvik, de tal manera que el emulador es una excelente herramientapara poder desarrollar y probar nuestras aplicaciones Android.

    Documentacin Completa: El SDK incluye bastos ejemplos de cada una de lascaractersticas de la versin que estemos utilizando.

    Soporte online: Android ha crecido rpidamente y ha generado una extensacomunidad de desarrolladores. El link http://developer.android.com/support.htmlcontiene foros activos con ayuda regular de ingenieros de Android y programadoresrelacionados con Google. Adems, en el link http://developer.android.com/index.htmlencontraremos la pgina principal de Google para los desarrolladores, as como lainformacin ms actual del API y el SDK de Android.

    Curso de Spring Framework

    Todos los Derechos Reservados Global Mentoring 6

  • Experiencia y Conocimiento para tu Vida

    Curso de Android con Java

    Todos los Derechos Reservados Global Mentoring 7

  • Experiencia y Conocimiento para tu Vida

    En Global Mentoring promovemos la Pasin por la Tecnologa Java.

    Te invitamos a visitar nuestro sitio Web donde encontrars cursos Java Online desde Niveles Bsicos,Intermedios y Avanzados.

    Adems agregamos nuevos cursos para que contines con tu preparacin como consultor Java demanera profesional.

    A continuacin te presentamos nuestro listado de cursos en constante crecimiento:

    Fundamentos de Java

    Programacin con Java

    Java con JDBC

    HTML, CSS y JavaScript

    Servlets y JSPs

    Struts Framework

    Hibernate Framework

    Spring Framework

    JavaServer Faces

    Java EE (EJB, JPA y Web Services)

    JBoss Administration

    Android con Java

    Datos de Contacto:

    Sitio Web: www.globalmentoring.com.mx

    Email: [email protected]

    Ayuda en Vivo: www.globalmentoring.com.mx/chat.html

    8Todos los Derechos Reservados Global Mentoring

    Curso de Android con Java