Está en la página 1de 15

Android 3.

is here!

NDICE
INTRODUCCIN ................................................................................................................ 3 GENERALIDADES Y CONCEPTOS ....................................................................................... 4 Mapa de arquitectura ................................................................................................... 4 Application Framework ................................................................................................ 5 Bloques de construccin de Aplicacin ........................................................................ 6 ORGENES ......................................................................................................................... 7 Adquisicin por parte de Google .................................................................................. 8 Estructura del Sistema Operativo Android. .................................................................. 8 REQUERIMIENTOS PARA DESARROLLO DE PROGRAMAS ................................................ 9 Desarrollo ..................................................................................................................... 9 Programacin ............................................................................................................... 9 Arquitectura................................................................................................................ 10 Diagrama de Android.................................................................................................. 10 PROGRAMAS BSICOS .................................................................................................... 11 NadaList .......................................................................................................................... 12 ESQUELETO DE UNA APLICACIN PARA ANDROID ........................................................ 13 INSTALACIN DE APLICATIVOS ....................................................................................... 14 Como instalar el SDK de Android................................................................................ 14 CONCLUSIN .................................................................................................................. 15

INTRODUCCIN
El siguiente trabajo ha sido creado para dar a conocer a sus lectores los aspectos generales de la programacin en Android, desde cmo instalar los aplicativos necesarios para su funcionalidad, hasta cmo crear su primera aplicacin. Tambin se darn a conocer algunos conceptos bsicos, cmo fue su origen y cmo se compone la estructura del sistema operativo Android. Android es un sistema operativo basado en Linux para dispositivos mviles, como telfonos inteligentes (Smartphones en ingls) y las tablets que son bsicamente computadoras porttiles con pantalla tctil. En el cual, los programas estn escritos en el lenguaje de programacin Java, es decir que para aprender a programar en ANDROID se necesitan tener conocimientos del lenguaje JAVA.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

GENERALIDADES Y CONCEPTOS

Pantalla inicial de Android 2.3

Android es un sistema operativo basado en Linux para dispositivos mviles, como telfonos inteligentes y tablets. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en el 2005. Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. Las unidades vendidas de telfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una cuota de mercado de 43,6% en el tercer trimestre.

Mapa de arquitectura
Los mapas de arquitectura tienen mucha importancia. Estos mapas explican las capas de las que est formada el sistema y la dependencia entre ellas. Cada una de las capas se encapsula y provee una interfaz de comunicacin suficiente para que cada capa cumpla con su requisito obviando las de la capa anterior. Adems tambin muestra las herramientas que te ofrece la arquitectura.

Hctor A. Alvarenga. Ingeniera de Software I.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

En el caso de Android la capa inferior, Linux Kernel, es la encargada de gestionar el Hardware. Un nivel ms arriba, encontramos las libreras de sistema operativo necesitan la abstraccin que les provee el kernel. Al mismo nivel pero separas de las libreras encontramos Android Runtime encargados de gestionar peticiones de las aplicaciones y ejecutarlas. Por encima de estas dos encontramos la que nos interesa a nosotros Application Framework, que nos da todas las clases, recursos necesarios para que nuestras aplicaciones que corren en la capa Application pueda ser ejecutada en Android. En conclusin, el mapa de arquitectura es bsico para saber dnde se sita nuestra aplicacin y que tenemos debajo.

Application Framework
Esta capa es la que nos interesa, proporciona los bloques de construccin que se utiliza para crear aplicaciones. Las partes ms interesantes de esta capa son los siguientes: Activity Manager: Este controla el ciclo de vida de aplicaciones y mantiene un "Backstack" para que el usuario pueda utilizar otras aplicaciones mientras otras siguen ejecutandose. Content providers: Estos objetos encapsular los datos que hay que compartidos entre las aplicaciones, como los contactos.

Hctor A. Alvarenga. Ingeniera de Software I.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

Resource Manager: Los recursos son algo que va con su programa que no es cdigo. Location Manager: Android siempre sabe tu localizacin. Notification manager: Eventos como mensajes recibidos, citas, alertas de proximidad, las invasiones exticas, y ms se pueden presentar en una manera discreta para el usuario. Aunque tampoco hay que olvidar la gestin de llamadas, gestor de paquetes y el gestor de pantallas.

Bloques de construccin de Aplicacin

Activity Una actividad es una sola, se centra en acciones que el usuario pueda hacer. Cuando necesitas interaccionar con el usuario debes usar una actividad, esta se encarga de crear una ventana y gestionarla. Para no dar el toston hablar del ms importante de sus metodos y la idea de cmo funciona. OnCreate: es donde se inicializa la actividad. Se suele llamar setContentView, con un diseo del interfaz de usuario (definido en el xml) de recursos, y la utilizacin de findViewById para recuperar los widgets en el que la interfaz de usuario que usted necesita para interactuar con programacin. Views Una visin es un objeto que sabe cmo aparecer en pantalla. Se usa cuando necesitas crear algn grfico diferente a los que vienen con el SDK. Intents Una intencin es un mensaje simple objeto que representa una "intencin" de hacer algo. Por ejemplo, si su aplicacin necesita para mostrar una pgina web, expresa su "intencin" para ver la URI de Intencin mediante la creacin de una instancia y que la entrega fuera del sistema. El sistema detecta algn otro fragmento de cdigo (en este caso, el navegador) que sabe cmo manejar esa intencin, y lo ejecuta. Intenta tambin se puede utilizar para transmitir eventos interesantes (por ejemplo, una notificacin) en todo el sistema.

Hctor A. Alvarenga. Ingeniera de Software I.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

Services Un servicio es un conjunto de cdigo que se ejecuta en segundo plano. Notifications Una notificacin es un pequeo icono que aparece en la barra de estado. Los usuarios pueden interactuar con este icono para recibir informacin. Los ms conocidos son las notificaciones de mensajes SMS, llamadas y correo de voz, pero las aplicaciones pueden crear sus propias. ContentProviders Un ContentProvider es un almacn de datos que proporciona acceso a los datos en el dispositivo. La aplicacin puede tener acceso a datos de otras aplicaciones que tienen creado su ContentProvider. Hay que tener claro los tipos de bloques, su funcin para poder usarlos cuando sean necesarios en la aplicacin.

ORGENES
El anuncio del sistema Android se realiz el 5 de noviembre de 2007 junto con la creacin de la Open Handset Alliance, un consorcio de 78 compaas de hardware, software y telecomunicaciones dedicadas al desarrollo de estndares abiertos para dispositivos mviles. Google liber la mayora del cdigo de Android bajo la licencia Apache, una licencia libre y de cdigo abierto. Actualmente Android posee el 32,9% de cuota de mercado a escala mundial de los telfonos inteligentes, por delante de Symbian que tiene 30,6%. En tercer lugar se sita Apple con cuota de mercado del 16%.

Hctor A. Alvarenga. Ingeniera de Software I.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

Adquisicin por parte de Google

En julio de 2005, Google adquiri Android Inc., una pequea compaa de Palo Alto, California. Entre los cofundadores de Android que se fueron a trabajar a Google estn Andy Rubin (co-fundador de Danger), Rich Miner (co-fundador de Wildfire Communications, Inc.), Nick Sears (alguna vez VP en T-Mobile), y Chris White (quien encabez el diseo y el desarrollo de la interfaz en WebTV). En ese entonces, poco se saba de las funciones de Android, Inc. fuera que desarrollaban software para telfonos mviles. Esto dio pie a rumores de que Google estaba planeando entrar en el mercado de los telfonos mviles. En Google, el equipo liderado por Rubin desarroll una plataforma para dispositivos mviles basada en el kernel de Linux que fue promocionado como a fabricantes de dispositivos y operadores con la promesa de proveer un sistema flexible y actualizable. Se inform que Google haba alineado ya una serie de fabricantes de hardware y software y seal a los operadores que estaba abierto a diversos grados de cooperacin por su parte. La especulacin sobre que el sistema Android de Google entrara en el mercado de la telefona mvil se increment en diciembre de 2006. Reportes de BBC y The Wall Street Journal sealaron que Google quera sus servicios de bsqueda y aplicaciones en telfonos mviles y estaba muy empeado en ello. Medios impresos y en lnea pronto reportaron que Google estaba desarrollando un telfono con su marca. En septiembre de 2007, "InformationWeek" difundi un estudio de Evalueserve que reportaba que Google haba solicitado diversas patentes en el rea de la telefona mvil.

Estructura del Sistema Operativo Android.

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java en una mquina virtual Dalvik con compilacin en tiempo de ejecucin.

Hctor A. Alvarenga. Ingeniera de Software I.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz grfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una API grfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor grfico SGL, SSL y una biblioteca estndar de C Glibc. El sistema operativo est compuesto por 12 millones de lneas de cdigo, incluyendo 3 millones de lneas de XML, 2,8 millones de lneas de lenguaje C, 2,1 millones de lneas de Java y 1,75 millones de lneas de C++.

REQUERIMIENTOS PARA DESARROLLO DE PROGRAMAS


Desarrollo
Android, al contrario que otros sistemas operativos para dispositivos mviles como iOS o Windows Phone, se desarrolla de forma abierta y se puede acceder tanto al cdigo fuente como al listado de incidencias donde se pueden ver problemas an no resueltos y reportar problemas nuevos. El que se tenga acceso al cdigo fuente no significa que se pueda tener siempre la ltima versin de Android en determinado mvil, porque el cdigo para soportar el hardware (controladores) de cada fabricante normalmente no es pblico, as que faltara un trozo bsico del firmware para poder hacerlo funcionar en dicho terminal, y porque que las nuevas versiones de Android suelen requerir ms recursos, por lo que los modelos ms antiguos quedan descartados por razones de memoria (RAM), velocidad de procesador, etc.

Programacin
En la actualidad existen ms de 200.000 aplicaciones para Android y se estima que sobre 300.000 telfonos mviles se activan diariamente. La tienda de aplicaciones Android conocida como Android market retribuye a los desarrolladores el 70% del precio de su aplicacin. Asimismo, el desarrollo de aplicaciones para Android no requiere aprender lenguajes complejos de programacin. Todo lo que se necesita es conocimiento aceptable de Java y estar en posesin del kit de desarrollo de software o SDK provisto por Google el cual, se puede descargar gratuitamente.

Hctor A. Alvarenga. Ingeniera de Software I.

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

Arquitectura
Los componentes principales del sistema operativo de Android (cada seccin se describe en detalle): Aplicaciones: las aplicaciones base incluyen un cliente de correo electrnico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones estn escritas en lenguaje de programacin Java. Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura est diseada para simplificar la reutilizacin de componentes; cualquier aplicacin puede publicar sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

Diagrama de Android.

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas caractersticas se exponen a los desarrolladores a travs del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementacin biblioteca C estndar), bibliotecas de medios, bibliotecas de grficos, 3D y SQLite, entre otras. Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicacin Android corre su propio proceso, con su propia instancia de la mquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr mltiples mquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual est optimizado para memoria mnima. La Mquina Virtual est basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato .dex por la herramienta incluida "dx". Ncleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y modelo de controladores. El ncleo tambin acta como una capa de abstraccin entre el hardware y el resto de la pila de software.

Hctor A. Alvarenga. Ingeniera de Software I.

10

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

PROGRAMAS BSICOS
1. NadaList. Un programa para gestionar notas en el telfono donde podemos categorizarlas, ponerles una prioridad, listar, filtrar, etc.

2. TableDB. Una librera en Java para Android mediante la cual podremos administrar nuestra base de datos del programa de una manera sencilla y eficaz, todo a travs de archivos XML donde se escribe la estructura de las tablas.
Mediante esta librera se podr gestionar una base de datos SQLite dentro Android de una manera sencilla. Simplemente tendremos que crear un archivo XML y la librera se encargar de crear las tablas y ofrecernos una API mediante la cual podremos crear, modificar y eliminar registros de una manera sencilla y eficaz en nuestra aplicacin. A continuacin se explica cmo integrar esta librera dentro de nuestro proyecto y algunos ejemplos de cmo podemos usarla:

Guardar la estructura en archivos XML


Con TableDB no tenemos que crear las sentencias SQL para creacin de tablas, los archivos XML se encargan de esta tarea. El sistema se encargar, la primera vez que se abre la aplicacin, de crear la base de datos y las tablas, adems de tener la posibilidad de realizar una primera carga de registros en las tablas.

Hctor A. Alvarenga. Ingeniera de Software I.

11

Programacin en ANDROID. UFG Ingeniera y Arquitectura.


Para ello TableDB trabaja con dos archivos XML que deben de ser guardados dentro de los recursos de la aplicacin en la carpeta "xml" con un nombre especfico. Estos son:

"tables.xml": contiene la estructura de las tablas "initialvalues.xml": contiene los registros que queremos que se cargen la primera vez en las tablas

NadaList
NadaList es una pequea utilidad mediante la cual podremos guardar notas en nuestro mvil con Android. Este programa nace como una ampliacin del Tutorial Oficial de Android mejorando las posibilidades de ese ejemplo, adems de hacer uso de TableDB para la gestin de la Base de Datos en SQLite.

Actualmente en las notas podemos guardar la siguiente informacin: Ttulo Descripcin de la nota Categora. Podremos crear nuestras propias categoras en el programa Prioridad. Se le podr dar una prioridad a las notas del 1 al 5 Geolocalizar las notas. Podemos buscar la posicin GPS en cualquier momento y aadirla como informacin a una nota. Posteriormente podremos ver en un mapa la posicin.

En el programa podemos acceder a las notas mediante un listado que podremos filtrar por categoras y que podemos ordenar por diferentes criterios.
Podrs instalar el programa en el emulador. Simplemente entra en el directorio "tools" del SDK desde lnea de comandos y escribe: $ adb install directorio_programa/NadaList.apk

Hctor A. Alvarenga. Ingeniera de Software I.

12

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

ESQUELETO DE UNA APLICACIN PARA ANDROID


Una aplicacin de Android tiene el siguiente esqueleto bsico, que hay que comprender para saber adnde ir cuando quieres crear alguna app: Directorio Assets: En este directorio se ponen cualquier tipo de fichero externo que sea necesario en cualquier momento por la aplicacin por ejemplo: HTML para el Web Browser sin necesidad de conexin, tipografias, jars de terceros. Es un repositorio de archivos. Directorio Bin: Los binarios compilados de la aplicacin. Directorio Res: Los recursos (resources), formada por 3 carpetas: Drawable: ficheros de imgenes. Layout: Ficheros de diseo de las interfaz de usuario. Ficheros xml que describen las interfaces. Values: definicin de variables. Ficheros xml en cada uno de ellos constantes, se agrupa por temtica, es decir: definicin de colores, definicin de texto, etc. Directorio Src: Aqu va todo el cdigo Java de la aplicacin. .project,.classpath: ficheros necesarios para abrir el proyecto con Eclipse. AndroidManifest.xml: es un archivo requerido para cada aplicacin. Describe los valores globales de su paquete, incluida la aplicacin, componentes (actividades, servicios, etc), las clases para cada uno de los componentes, qu tipo de datos puede manejar cada uno, y donde puede ser lanzado.

Hctor A. Alvarenga. Ingeniera de Software I.

13

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

INSTALACIN DE APLICATIVOS
Como instalar el SDK de Android
Instalaremos el SDK de Android sobre la plataforma de desarrollo Eclipse. Esto puede realizarse con todas las plataformas MAC, WIN, LINUX. Ya que Eclipse va sobre Java.

1. Instalar Eclipse: http://www.eclipse.org/downloads/

Con descargar la versin Eclipse IDE for Java Developers (85 MB) es suficiente. Una vez descargado, extraer el zip en la carpeta deseada.
2. Asegurarse de tener instalado Java en la mquina, sino Eclipse no funcionar. Se

puede Descargar ac: http://java.sun.com/javase/downloads/index.jsp


3. Instalar el plugin de Android para Eclipse:

3.1- Aadir Site a instalar plugin: Ir al menu Help/Software Updates aparecer una ventana ir a la pestaa Avaliable Updates, Add site y aadir la siguiente direccin: https://dl-ssl.google.com/android/eclipse/ (Estos pasos dependen de la versin de Eclipse) 3.2- Instalar el plugin: Una vez aadido la url, podrs seleccionar Developer Tools y darle a instalar. IMPORTANTE: Una vez instalado tienes que reiniciar Eclipse para aplicar los cambios. 3.3- Descargar SDK Android: http://developer.android.com/sdk/1.5_r2/index.html IMPORTANTE: El paso 3.4 es fundamental o Eclipse dar el siguiente error 3.4- Aadir la ruta del SDK en eclipse: Ir al menu Window/Preferences y en la ventana que aparecer, apartado Android aadir la ruta.
4. Ahora Ya puedes crear un proyecto de Android con Eclipse

Hctor A. Alvarenga. Ingeniera de Software I.

14

Programacin en ANDROID. UFG Ingeniera y Arquitectura.

CONCLUSIN
Se puede concluir que Android es uno de los sistemas operativos para telfonos inteligentes ms usados y el de mayor popularidad en el mundo. Programar para Android puede parecer algo fcil, pero en realidad tiene su complejidad como todos los lenguajes de programacin. Se puede considerar a Android como una de las industrias que ms dinero da, ya que cada da se pueden observar ms telfonos mviles con una tecnologa muy avanzada, tambin los gadgets, como los iPad, iPod Touch, TabletsPC, etc. Y la mayora de estos, utilizan el sistema operativo Android.

Hctor A. Alvarenga. Ingeniera de Software I.

15

También podría gustarte