Está en la página 1de 23

FACULTAD DE INGENIERIA ESPECIALIZACION EN TELEMATICA

Aplicaciones Mviles usando Android

Por: ing. Alexander Garca Dvalos. MsC. agdavalos@uao.edu.co

Agenda
Android - Conceptos fundamentales Android: APIs Herramientas de Desarrollo (SDK) de Aplicaciones Desarrollo de Aplicaciones mviles para Android

Qu es Android?
Es una plataforma de software para dispositivos mviles (telfonos, tabletas,

netbooks) que incluye un sistema operativo, un middleware y un conjunto de aplicaciones (e-mail, calendario, mapas, browser, agenda de contactos, entre otros).

El SDK de Android proporciona las herramientas y APIs (3D, SQLite, Media

Libraries, entre otras) necesarias para el desarrollo de aplicaciones mviles usando Java.

Android se basa en el kernel 2.6 de Linux para los servicios bsicos del SO, tales

como la seguridad, la gestin de memoria, la gestin de procesos y el soporte de los controladores o drivers.

Android - Caractersticas
Cdigo abierto (open source) Jerarqua de las aplicaciones: todas las aplicaciones estn al mismo nivel, y pueden

acceder al hardware del dispositivo mvil a travs de las APIs de Android.

Acceso a la Web: Android combina informacin de la web (servicios web) con

datos almacenados localmente en la memoria del dispositivo mvil.

Programacin en Java: las aplicaciones para Android se codifican en lenguaje Java,

el cual es una herramienta con una gran comunidad de programadores.

Android OS - Arquitectura

Android - APIs
Android incluye un conjunto de libreras o APIs desarrolladas en lenguaje C/C++

que son usadas por varios de los componentes de la plataforma.

Algunas de estas libreras son:

libc - la librera estndar del lenguaje C. SSL - seguridad en Internet. OpenGL - grficos 2D y 3D. SQLite (bases de datos relacionales) FreeType - mapa de bits y vectores de la renderizacin de fuentes. Media Framework - reproduccin de medios (video, sonido. WebKit - motor de renderizacin de contenidos web.

Desarrollo de Aplicaciones
Google provee un SDK para que los desarrolladores puedan construir las

aplicaciones para Android. Aparte de las APIs, el SDK incluye un componente (plug-in) para Eclipse, lo cual facilita las tareas de programacin, entre ellas la depuracin y la simulacin de las aplicaciones construidas.

Herramientas de Desarrollo
plugin de Android para NetBeans: es posible adicionarle a NetBeans un plugin

para el desarrollo de aplicaciones bajo este robusto entorno de desarrollo.

El plugin se denomina NbAndroid y fue desarrollado como un componente de

software por la comunidad de desarrolladores. Actualmente es mantenido bajo el denominado Proyecto Kenai, que es una iniciativa de la comunidad de desarrolladores Java.

Instalacin de Plugin para NetBeans


1) Descargar e instalar el SDK de Android. http://developer.android.com/sdk/index.html 2) Instalar el plugin Nbandroid a travs de la opcin Tools (Herramientas) de NetBeans: tools plugins settings http://kenai.com/downloads/nbandroid/updatecenter/updates.xml 3) Adicionar (asociar) la plataforma Android a NetBeans Tools Options Miscellaneous

Ms detalles en la pgina web: http://www.techjail.net/starting-programming-for-android-with-netbeans.html

Configuracin de Plataforma Android

App Inventor
Herramienta de software desarrollada en MIT (http://beta.appinventor.mit.edu/

learn), que permite la construccin de aplicaciones para plataforma Android y la cual es apoyada por Google (servidores web, almacenamiento de proyectos, visibilidad).

Propone una nueva forma de desarrollar las aplicaciones mviles basndose en

elementos grficos, que permiten construir las aplicaciones en un estilo tipo Lego, es decir usando bloques prefabricados (componentes grficos, lgica, control de la aplicacin, etc).

La idea principal de esta propuesta es disminuir la curva de desarrollo y que

pblico de diferentes niveles de educacin (escuelas, colegios, universidades) puedan desarrollar aplicaciones mviles para la plataforma Android.

App Inventor - Estructura

Fuente: App Inventor http://beta.appinventor.mit.edu/learn/whatis/index.html

App Inventor Configuracin


Se puede usar en diferentes plataformas operativas (Windows, Linux, Mac) y

browsers (Mozilla, IE, Safari y Chrome). Requiere de conexin permanente a Internet, debido a que es una aplicacin web que usa tecnologa Java (Java Web Start) y almacena los proyectos (aplicaciones) en los servidores de Google. Los detalles acerca de la configuracin estn publicados en la pgina web: http://beta.appinventor.mit.edu/learn/setup/index.html

App Inventor Software


Requerimientos tcnicos (software):
Java 6 o superior. Instalacin de software del Emulador de Android (http://beta.appinventor.mit.edu/learn/setup/setupwindows.html ) Instalacin de drivers para telfonos mviles (opcional).

Lenguaje de Programacin
Las aplicaciones para Android se pueden desarrollar usando Java y se ejecutan en

una mquina virtual denominada Dalvik, que fue creada especialmente por Google.

En Android todas las aplicaciones tienen las mismas condiciones, y tanto las

aplicaciones de terceros como las nativas, se construye usando las mismas APIs y son ejecutadas en el mismo entorno de ejecucin (run time).

Por seguridad, cada aplicacin se ejecuta en su propio espacio, aunque pueden

comunicarse con otras aplicaciones y acceder a datos almacenados en el dispositivo (p.ej. la agenda de contactos, el registro de llamadas, etc).

Android: Framework de Aplicaciones


Android esta dotado de un Framework de Aplicaciones, que provee a los

desarrolladores las clases (p.ej. hacer llamadas, crear notificaciones la usuario, gestin de las ventanas, coordenadas de ubicacin del telfono, etc) necesarias para la construccin de las aplicaciones, el manejo de la interfaz grfica (GUI) y los recursos de las aplicaciones.

Se tiene acceso a las mismas APIs que usan las aplicaciones nativas de Android, y

otra caracterstica interesante es que, se pueden reusar componentes gracias a que cualquier aplicacin puede publicar sus capacidades para que otras aplicaciones las usen.

Componentes Bsicos de Aplicaciones


En Android existen 6 componentes bsicos, que se constituyen en los bloques

para la construccin de las aplicaciones mviles:

1.Actividades: son la capa de presentacin de las aplicaciones en Android. Cada pantalla (screen) de la interfaz grfica de usuario se crea a partir de la clase Activity. Las actividades usan unos objetos especiales denominados Views (Vistas), que son los que permiten componer la interfaz grfica para que los usuarios interacten con la aplicacin. 2. Servicios: son componentes que se ejecutan en segundo plano (background) sin la intervencin del usuario y que son los encargados de tareas como la actualizacin de los datos y lanzar las notificaciones.

Componentes Bsicos de Aplicaciones


3. Proveedores de contenido: son usados para gestionar y compartir las bases de datos de las aplicaciones. Son la opcin apropiada para compartir datos entre aplicaciones, ya que stas se ejecutan en espacios diferentes y mediante stos se puede permitir el acceso a los datos de las aplicaciones usando un esquema de localizacin de objetos tipo URI (Universal Resource Indicator). 4. Intentos: son un mecanismo para el paso de mensajes, a travs del cual se puede comunicar, en modo broadcast (difusin), mensajes a las Actividades o Servicios para que se realice una determinada accin.

Componentes Bsicos de Aplicaciones


5. Receptor de Broadcast: al registrar un Receptor de broadcast, es posible que una aplicacin determinada escuche los mensajes enviados a travs de Intentos que coincidan con determinado criterio de filtrado. Esto es til por ejemplo cuando se necesita que una aplicacin escuche automticamente Intentos que puedan ser los disparadores de eventos. 6. Notificaciones: permiten indicarle (notificarle) algo al usuario sin que se tenga que interrumpir sus Actividades actuales. Es una opcin que se puede usar para ganar la atencin del usuario, en lugar de los Receptores de broadcast.

Android: Run-time
Android posee un entorno de ejecucin o Run time, que se compone de un

conjunto de libreras (algunas libreras del ncleo de Java y de la mquina virtual Dalvik), que proveen funcionalidades bsicas y la mquina virtual Dalvik, para la ejecucin de las aplicaciones.

A cada aplicacin que se lanza a ejecucin, se le crea su propio proceso en una

instancia propia de la mquina virtual Dalvik.

El cdigo Java (clases) se transforma para su ejecucin en archivos con la

extensin .dex, que son ejecutados (bytecode) por la mquina virtual Dalvik.

Ejemplo: Hola mundo!


package com.example.helloandroid; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } }

Ejemplo: Hola mundo!

Referencias
[1] Reto Meier. Professional Android Application Development . Wiley Publishing, Inc. ISBN: 978-0-470-34471-2. USA, 2009. [2] Android Developers Disponible en http://android-developers.blogspot.com [3] Ed Burnette. Hello Android: Introducing Googles Mobile Development Platform, Pragmatic Bookshelf, ISBN-10: 1-934356-17-4, 2008. [4] NBAndroid http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp? pluginid=19545 [5] NetBeans Plug-in for Android http://jwebsocket.org/mobile/android/android_nb.htm [6] Ejemplo: Hello word http://developer.android.com/resources/tutorials/hello-world.html [7] App Inventor http://beta.appinventor.mit.edu/learn/