Programación en Android PDF por Neue Ansatz

28
 Fuente Freddy-A en http://www .neoteo.com Pdf por Neue Ansatz  Programación en Android: Parte I - Introducción a la plataforma Estimados Usuarios de Neoteo: Vamos a empezar una serie de tutoriales acerca de esta innovadora plataforma, con el objetivo de que toda la comunidad conozca las bases acerca del desarrollo en la misma, podamos compartir experiencias y por qué no desarrollar aplicaciones de código abierto con una serie de funcionalidades útiles para todos nosotros. En primera instancia debemos preguntarnos: ¿Qúe es android? Android es el nombre clave para un Sistema Operativo orientado al uso del mismo en dispositivos móviles, tomando en cuenta que en una primera instancia se lo creo para ser usado solamente en teléfonos celulares. Sin embargo, posteriormente se puede encontrar a Android en todo tipo de dispositivos como tablets, Smartphone, netbooks e incluso algunos electrodomésticos (este último punto se lo está experimentando aun). Este SO fue desarrollado en primera instancia por Android Inc., en Palo Alto, California, los cuales fueron adquiridos en 2005 por Google Inc. En Noviembre del 2007 es lanzado por primera vez el Android Software Development Kit, y casi un año después (Agosto 2008) aparece Android 0.9 SDK en versión beta. Pasado un mes Google lanza la versión Android 1.0 (Release 1). La primera versión de Android es muy diferente a las versiones que tenemos actualmente, donde se aprecia la evolución del sistema operativo. Se lanza la versión de Android 1.5 (Cupcake) en mayo del 2009, la cual tiene como novedad la inclusión de grabación de video, soporte para Bluetooth, sistema de teclado en pantalla personalizable y reconocimiento de voz (como servicio en la nube con Google Voice). A partir de esta versión se empieza a tomar en cuenta seriamente a este SO ya que muchos equipos de diferentes fabricantes optan por equipar sus teléfonos con esta versión del SO. Posteriormente, aparecen las versión 1.6 llamada Donut, agregando varias mejoras como el indicador de batería, siendo esta una de las versiones más usadas en los dispositivos con android (mi primera tablet chinita tenía esta versión y la sigo usando al día de hoy). En la actualidad se tienen varias versiones nuevas como la 2.2 (Froyo) que es la primera que incluye soporte para ver contenido en Flash, 2.3 (GingerBread), siendo que las versiones más recientes como la 3.0 según mi conocimiento no han sido

Transcript of Programación en Android PDF por Neue Ansatz

Page 1: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 1/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Programación en Android: Parte I -Introducción a la plataforma 

Estimados Usuarios de Neoteo:

Vamos a empezar una serie de tutoriales acerca de esta innovadora plataforma, con elobjetivo de que toda la comunidad conozca las bases acerca del desarrollo en la

 

misma, podamos compartir experiencias y por qué no desarrollar aplicaciones de

 

código abierto con una serie de funcionalidades útiles para todos nosotros.

En primera instancia debemos preguntarnos:

¿Qúe es android? 

Android es el nombre clave para un Sistema Operativo orientado al uso del mismo en

 

dispositivos móviles, tomando en cuenta que en una primera instancia se lo creo para

 

ser usado solamente en teléfonos celulares. Sin embargo, posteriormente se puedeencontrar a Android en todo tipo de dispositivos como tablets, Smartphone, netbooks eincluso algunos electrodomésticos (este último punto se lo está experimentando aun).

Este SO fue desarrollado en primera instancia por Android Inc., en Palo Alto, California,los cuales fueron adquiridos en 2005 por Google Inc.

En Noviembre del 2007 es lanzado por primera vez el Android Software DevelopmentKit, y casi un año después (Agosto 2008) aparece Android 0.9 SDK en versión beta.

 

Pasado un mes Google lanza la versión Android 1.0 (Release 1).

La primera versión de Android es muy diferente a las versiones que tenemosactualmente, donde se aprecia la evolución del sistema operativo.

Se lanza la versión de Android 1.5 (Cupcake) en mayo del 2009, la cual tiene comonovedad la inclusión de grabación de video, soporte para Bluetooth, sistema de tecladoen pantalla personalizable y reconocimiento de voz (como servicio en la nube conGoogle Voice).

A partir de esta versión se empieza a tomar en cuenta seriamente a este SO ya que

 

muchos equipos de diferentes fabricantes optan por equipar sus teléfonos con esta

 

versión del SO.

Posteriormente, aparecen las versión 1.6 llamada Donut, agregando varias mejorascomo el indicador de batería, siendo esta una de las versiones más usadas en losdispositivos con android (mi primera tablet chinita tenía esta versión y la sigo usandoal día de hoy).

En la actualidad se tienen varias versiones nuevas como la 2.2 (Froyo) que es laprimera que incluye soporte para ver contenido en Flash, 2.3 (GingerBread), siendoque las versiones más recientes como la 3.0 según mi conocimiento no han sido

Page 2: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 2/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

liberadas.

Aquí les dejo un gráfico acerca de la historia de android:

Características Técnicas de la Plataforma 

Android es un SO de código Abierto, basado en Linux, para ser utilizado en dispositivoscon procesadores ARM.

Este SO cuenta con varias librerías y Apis desarrolladas por Google lo cual facilita el

 

desarrollo de aplicaciones en la misma, además las aplicaciones corren en una

 

máquina virtual denominada Dalvik.

Dalvik es una parte esencial de sistema operativo, una aplicación antes de ser

ejecutada es convertida en un ejecutable de la máquina de Dalvik (formato .Dex), queesta designado para optimizar su uso en equipos que tienen muchas restricciones enuso de procesador y memoria, tales como los smartphones.

Dispone de soporte para medios con formatos comunes de audio, video e imágenes

 

planas (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

Multimedia: Dispone de soporte para medios con formatos comunes de audio, video e

 

imágenes planas (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).

Tiene una serie de posibilidades para comunicación tales como Bluetooth, Wifi, Edge,3G.

Se pueden mencionar como otras características la cámara, GPS, brújula,acelerómetro, pantalla táctil, navegador propio con el motor Webkit (OpenSource).

Una característica muy interesante es que Android tiene por defecto un pequeño motor

 

de base de datos denominado SQLlite, permitiendo a cualquier aplicación crear tablas,

 

relaciones, realizar querys y obtener data de manera muy sencilla y eficiente.

Page 3: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 3/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Arquitectura de Android 

Estos son los componentes principales de android:

Aplicaciones: Todas las aplicaciones están escritas en lenguaje de programaciónJava, las aplicaciones base incluidas en el sistema son las de envió de sms, calendario,mapas, navegador. Framework de Aplicaciones: Apis a las cuales tienen acceso los desarrolladores, conel objetivo de simplificar la reutilización de componentes. Librerías: Conjunto de bibliotecas usadas para por varios componentes del sistema.

Runtime: Android incluye un set de bibliotecas base que proporcionan la mayor partede las funciones disponibles en las bibliotecas base del lenguaje Java

 

Núcleo Linux: Depende de Linux para los servicios base del sistema como seguridad,

 

gestión de memoria, gestión de procesos, pila de red, etc. Lo que lo convierte en un

 

sistema muy estable y sólido.

Ventajas y Desventajas del desarrollo enAndroid 

Ventajas 

Entorno de desarrollo Libre y compatible con varios sistemas operativos (Eclipse) quecuenta con simulador de android para probar las aplicaciones, a comparación del IOSdel IPhone no requerimos un hardware en específico para desarrollar aplicaciones. Librerías y componentes reutilizables para todo tipo de aplicaciones. Gran comunidad de desarrolladores, muchas fuentes de información acerca de la

Page 4: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 4/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

plataforma. Más de 100.000 aplicaciones disponibles para teléfonos Android, la mayoría gratis.

 

Además la libertad de código permite adaptar Android a bastantes otros dispositivosademás de teléfonos celulares. El sistema Android es capaz de hacer funcionar a la vez varias aplicaciones y además

 

se encarga de gestionarlas, dejarlas en modo suspensión si no se utilizan e incluso

cerrarlas si llevan un periodo determinado de inactividad.

Desventajas 

Google tiene una política restrictiva hacia las versiones más recientes, no haciéndolaspúblicas hasta que ellos lo vean conveniente. Al ser un sistema multitarea, esto puede presentar un problema ya que se puedellevar a cabo un consumo elevado de la batería. Suele ser poco intuitivo para los usuarios nuevos.

SDK 

El SDK es el Kit de desarrollo que ofrece google de manera gratuita, con el SDKinstalado y algún IDE o entorno de desarrollo disponible se puede empezar adesarrollar aplicaciones sin demora alguna.

Se puede obtener desde la web Android SDK | Android Developers 

Requerimiento de sistema operativo ysoftware 

Windows XP, Vista, 2008 Server, 7

Linux.

Mac OS X 10.4.8 o superior, compatible solamente con arquitectura X86.

Entorno de desarrollo 

Solo se requiere la descarga e instalación de alguno de los siguientes entornos:

Eclipse for Java Developers: Eclipse IDE for Java Developers | Eclipse Packages  IntelliJ Idea Communitiy Edition IntelliJ IDEA :: Best Java IDE to do more high-

Page 5: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 5/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

quality code in less time 

 

Preparar el SDK para ser utilizado 

1. Prepare la Pc y asegúrate que cumpla con los requisitos mínimos mostrados

anteriormente.

2. Instala el SDK correspondiente a tu sistema operativo de la página Android SDK | 

Android Developers, si estamos en windows elegiremos el installer_r12-windows.exe.

3. Descarga eclipse desde Eclipse IDE for Java Developers | Eclipse Packages.

4. Ejecuta eclipse e instala el ADT, esto se hace eligiendo Help -> Install New

Software, en la cual se abre una nueva pantalla denominada Install.

En ese nueva pantalla click en el Botón Add y nos saldrá una ventana denominada Add

site, en la casilla "Name:" ponemos el nombre que deseemos, y en location "https://dl-

ssl.google.com/android/eclipse/" (sin las comillas).

Damos click en Ok, y le damos un poco de tiempo para que busque el plugin.

Marcamos la casilla "Development Tools" y hacemos click en Next, Finish y así 

sucesivamente hasta que ya se haya instalado el ADT.

Con todos estos requisitos complidos ya estamos listos para iniciar el desarrollo de

aplicaciones en Android, espero que este tutorial les haya sido util, y esperen

proximamente el siguiente tutorial donde haremos nuestra primera aplicación.

Page 6: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 6/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Programación en Android: Parte II Fundamentos de Java 

Introducción 

Saludos usuarios sedientos de nuevos conocimientos, gracias a la buena acogida que

 

tuvo el primer tutorial, vamos a seguir con la segunda parte, en la misma vamosprimero a hacer un repaso de algunos conceptos básicos de programación en Javacomo base para nuestros futuros desarrollos.

Java 

Java es un lenguaje de programación orientado a objetos que nos permite realizar todotipo de aplicaciones, el cual es de uso libre y gratuito. Ha sido desarrollado por la

 

compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las

 

necesidades tecnológicas más punteras. Sin embargo, ahora es propiedad de la

 

empresa Oracle, la cual adquirió a Sun Microsystems.

 

Una de las principales características por las que Java se ha hecho muy famoso es quees un lenguaje independiente de la plataforma, dado que es un lenguaje interpretado,un lenguaje interpretado es un lenguaje de programación que está diseñado para serejecutado por medio de un intérprete, en contraste con los lenguajes compilado. Por lotanto, un lenguaje compilado es ejecutado directamente en código de máquina, encambio uno interpretado requiere de otro componente que lo traduce a lenguaje demáquina, lo que posibilita que un código interpretado pueda ser ejecutado en cualquierotro tipo de sistema operativo, si se cuenta con un intérprete codificado para ese

Page 7: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 7/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Sistema Operativo.Por consiguiente, Java es un lenguaje independiente de la plataforma, ya que gracias a

 

que corre en una máquina virtual de java (esto es a lo que nos referíamos comointérprete), permite que un mismo programa pueda ser ejecutado en Windows,GNU/LINUX, Solaris e Incluso MacOS.Java en un principio fue pensado para poder ser usado en cualquier tipo de

electrodoméstico , pero la idea fracaso. Los fundadores de Sun rescataron esta ideapara poder ser utilizada en internet, gracias a ello ha sido extendido a una serie deaplicaciones y plataformas, permitiendo utilizar java en dispositivos móviles,aplicaciones empresariales para gestión de bases de datos, reportes e incluso para elprocesamiento de DataWarehouse en Business Intelligence, todo esto desde unentorno libre como Eclipse IDE for Java.

Repaso de programación en Java 

Conociendo un poco acerca de las bondades de Java, de su objetivo e historia, vamos

a hacer un breve repaso de los temas más importantes de programación en el mismo,dado que no es el objetivo del tutorial convertiros en programadores profesionales de java, este repaso nos servirá para recordar lo que muchos conocemos acerca de otroslenguajes.Para los que programan en C, la sintaxis de java es prácticamente la misma que en C,excluyendo punteros los operadores, estructuras de control son prácticamente lasmismas.Para los que programan en Basic, Pascal, no les será de mucha dificultad aprender estelenguaje.

 

Los que conocen Visual C++ y C#, básicamente C# y java a nivel de sintaxis son muy

 

similares.

Resumen de Operadores de Java 

La siguiente referencia rápida resume los operadores proporcionados por el lenguajede programación Java.

Operador de asignación sencillo 

= Operador de asignación sencillo

Operadores aritméticos 

+ Operador de adición (también se utiliza para concatenar Strings)- Operador de sustracción* Operador de multiplicación / Operador de división

Page 8: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 8/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

% Operador de resto

Operadores unarios 

+ Operador unario «más», indica un valor positivo (sin embargo los número sonpositivos sin el operador)- Operador unario «menos»; niega una expresión++ Operador de incremento; incrementa un valor en 1-- Operador de decremento; decrementa un valor en 1! Operador de complemento lógico; invierte el valor de un booleano

Operadores de igualdad y relacionales 

== Igual a

 

!= Distinto de (No igual a)> Mayor que>= Mayor que o igual a< Menor que<= Menor que o igual a

Operadores condicionales 

&& AND-Condicional|| OR-Condicional

 

?: Ternario (abreviatura de la sentencia if-then-else)

Operado de comparación de tipo 

instanceof Compara un objeto con un tipo indicado

Operadores a nivel de bit y de desplazamiento de bit 

~ Complemento unario a nivel de bit<< Desplazamiento con signo a la izquierda>> Desplazamiento con signo a la derecha

 

>>> Desplazamiento sin signo a la derecha

 

& AND a nivel de bits^ OR exclusivo a nivel de bits| OR inclusivo a nivel de bits

Page 9: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 9/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Resumen de Sentencias de Control 

If  

Código:

Int I = 0;If (i>0){//Hacer algo}

If-else 

Código:

Int I = 0;If (i>0){//Hacer algo}Else{//De lo contrario hacer otra cosa}

If-else if-else 

Estructura:if (condicion) {instrucciones;}else {instrucciones;}Ejemplo: Código:

Int I = 0;

 

If (i>0){//Hacer algo}else if(i==2){

//si se cumple la condición hacer esto

}Else{//Si no, hacer esto}

Page 10: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 10/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Switch 

switch (expresión) {case <valor>: instrucciones;[break;]

case <valor>: instrucciones;[break;]

 

...[default: instrucciones;]

 

}

 

Ejemplo: Código:

switch (opcion) {case 1: x = x * Math.sqrt(y);

break;case 2:case 3: x = x / Math.log(y);

break;

default: System.out.println("Error");

}

For 

Estructura:for (inicialización; comparación; incremento) {instrucciones;}

 

Ejemplo: Código:

int I = 0;

 

for(i=0;i<100;i++){System.out.println(i);//hacer esto 100 veces}

While 

Estructura:while (condición) {instrucciones;}Ejemplo: Código:

int i = 0;while(i==0){System.out.println(hola!);//hacer mientras i==00}

Page 11: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 11/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Variables 

En Java la sintaxis de la declaración de variables es similar a C y C++:<tipo_datos> <nombre_variable>;

Por ejemplo para declarar una variable de tipo entero se hace de la siguiente manera: Código:

int i = 0; (declaración de variable con un valor inicial).

A diferencia de C, y de manera similar a C++ una variable puede ser declarada en

 

cualquier punto de un bloque, un bloque está definido por varias sentencias de códigoentre dos llaves:{ //Bloque.}Los tipos de datos que tenemos en java son: byte, 8 bits

short, 16 bits int , 32 bits long, 64 bits

 

float, 32 bits string

Arrays 

Los arreglos o arrays en java se declaran de la siguiente manera:Una dimensión:

<tipo_datos> <nombre_array>[];

 

<nombre_array> = new <tipo_datos>[<num_elementos>];Varias dimensiones:<tipo_datos> <nombre_array>[][]...[];<nombre_array> = new <tipo_datos>[<num_elementos>]...[<num_elementos>];Ejemplo: Código:

float v[] = new float[11]; // Una dimensión con 11 elementosfloat M[][]= new float[3][4]; // Dos dimensiones con 3x4 elementosString s[] = {"hola", "adios"}; // Una dimensión con dos elementosinicializados

Tipos de datos envolventes 

Para cada uno de los tipos simples existe una clase equivalente, con constantes ymétodos que nos pueden ser útiles:Tipo Simple Clase Equivalentebyte, short, int y long -> Number, Byte, Short, Integer y Longfloat y double-> Number, Float y Doubleboolean -> Boolean

Page 12: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 12/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

char -> CharacterEjemplo: Código:

int i = 4; // "i" es una variable entera (tipo simple)Integer j = new Integer(5); // "j" es un objeto de la clase Integer(envolvente)

Colections 

Java y su api nos proporcionan colecciones en donde podemos guardar series de datos,

 

tales como List, ArrayList, Vector, etc. Dichas colecciones no son parte del lenguaje,

 

son estructuras de datos definidas como Clases en el paquete java.util.

 

Este tipo de colecciones genéricas existen desde la versión 1.5.0 de java.Ejemplo: Código:

ArrayList<Alumno> miclase = new ArrayList<Alumno>();miclase.add( new Alumno("Pepe", 5.0) );miclase.add( new Alumno("Alex", 4.2) );

miclase.add( new Alumno("Pepa", 6.3) );for (Iterator i = miclase.iterator(); i.hasNext();) {System.out.println( i.next() );

}

Procedimientos y Funciones 

Antes conocidos como Subprogramas, las funciones y procedimientos nos permitendividir un programa en pequeñas unidades lógicas, las mismas se llaman Funciones sirealizan una operación y devuelven un valor, y procedimientos si no devuelven ningúnvalor.Para definir un procedimiento, se utiliza la siguiente estructura

void <Nombre_Funcion> (<Argumentos>){ //Cuerpo del procedimiento}Para definir una función se utiliza la misma estructura, pero definiendo que valor se vaa devolver:<tipo de dato> <Nombre_Funcion> (<Argumentos>){ //Cuerpo del procedimientoReturn <valor a devolver>;}Ejemplo: Código:Int funcion(int x){Int resultado=x*x+3;Return resultado;}

Page 13: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 13/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Clases y OOP 

La programación ha sufrido una serie de avances desde los principios de la electrónica,partiendo primero por los lenguajes de bajo nivel (tales como el assembler), los demediano nivel como Fotran y C, y los de alto nivel como C++, Basic, Java.

Esta jerarquización de niveles representa la facilidad que tiene un lenguaje para serentendido por un ser humano, siendo los de bajo nivel ciertamente incomprensiblespor un humano común sin conocimientos, y los de alto nivel bastante similares anuestro lenguaje natural.

De estos niveles, la programación espagueti era un problema en los inicios de la

 

computación, ya que se tenían sentencias de código repletas de la famosa palabra

 

clave GOTO, la cual hacia que para poder depurar un determinado programa el usuariotenía que saltar del inicio, al final al medio y a todo lado dentro del código, haciendoque el mantenimiento de los sistemas sea prácticamente imposible.

Gracias a la programación estructurada, que es una técnica para escribir programas demanera clara, para ello se utilizan únicamente tres estructuras: secuencia, selección eiteración. Lo que posibilitaba que los desarrollos sean más claros y fáciles de entender.

Sin embargo, las aplicaciones se fueron haciendo cada vez más complejas y

 

ambiciosas, y se dio la necesidad de reutilización del código fuente de las aplicaciones,

 

de esta noción fue que surgió la Programación Orientada a Objetos, en la cual tenemos

 

Clases que es una construcción que se utiliza como un modelo (o plantilla) de unobjeto.

Utilizando estas clases se puede crear los planos de un objeto, y a partir de este secrea o  instancia  el objeto pudiendo cambiar varias características del mismo segúnsea nuestra necesidad, pero respetando el diseño inicial o plantilla el cual tiene undeterminado Comportamiento.

A estas características las denominamos variables o propiedades y al comportamiento

Page 14: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 14/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

o acciones Métodos, accediendo a los mismos utilizando el operador  . .

La Programación orientada a Objetos (POO), establecen varios conceptos importantes,que se detallan a continuación:

Abstracción: denota las características esenciales de un objeto, donde se capturan

sus comportamientos. Modularidad: Se denomina Modularidad a la propiedad que permite subdividir unaaplicación en partes más pequeñas. Encapsulamiento: Significa reunir a todos los elementos que pueden considerarsepertenecientes a una misma entidad, al mismo nivel de abstracción. Polimorfismo: comportamientos diferentes, asociados a objetos distintos, puedencompartir el mismo nombre, al llamarlos por ese nombre se utilizará elcomportamiento correspondiente al objeto que se esté usando.

 

Herencia: Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación

Para que sea más fácil de entender, podemos ver el siguiente ejemplo: Código:

Clase Auto //Creamos la clase{String color;int año;Void Arrancar(){//ARRANCA!}}

Y para instanciar la clase, o crear el objeto podemos hacer lo siguiente: Código:

Auto Ferrari = New Auto(); //Instanciamos una claseFerrari.Color = Red; //Le otorgamos un color.Ferrari.Año = 2011; //Le asignamos el año de fabricación.Ferrari.Arrancar() //Arrancamos el auto

En todo en lo que trabajemos en programación Java se van a utilizar Clases y Objetos

 

de las librerías de Android.

Fin de la transmisión 

Me parecio de vital importancia hacer un pequeño repaso de Java para todos los

usuarios interesados en esta serie de tutoriales de programación Android, sean

novatos o viejos lobos de mar en la programación como yo, no esta demás recordar y

aprender algunos conceptos básicos.

Dado que ya tenemos el IDE de desarrollo (Eclipse) y los conceptos básicos de Java, ya

estamos listos para empezar a desarrollar aplicaciones, asi que mientras ustedes

repasan algunos conceptos básicos, vamos preparandonos para la siguiente parte de

los tutoriales:

Page 15: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 15/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Programación en Android: Parte III - Hello World

Programación en Android: Parte III

HelloWorld 

Introducción 

Saludos a todos los usuarios de Neoteo, a continuación vamos a proceder a revisar los

 

conceptos básicos de la programación en Android. Por lo tanto, vamos a configurar

 

nuestro entorno de desarrollo y el emulador del Android SDK para poder desarrollar

nuestra primera aplicación, el clásico Hello World!

¿De qué está compuesta una aplicación en Android? 

Cuando se desarrolla una aplicación de escritorio se toma en cuenta una interfazgráfica, que tiene ventanas, subventanas, diálogos y alertas, para interactuar con otrosprogramas generalmente se hace a través de una API tal como JDBC (Java DatabaseConnectivity, bases de datos en java), para comunicarnos con Mysql o algún motor de

 

base de datos, android tiene conceptos similares, con algunas diferencias dado sus

 

características como plataforma para dispositivos móviles, donde se debe teneraplicaciones más resistentes a cuelgues y bloqueos, no queremos que se cuelgue el

 

teléfono justo cuando la ex nos llama y nos pide volver, Android debe poder cerrar laaplicación y permitirte contestar a tu Amor perdido.

Dejando los ejemplos de la vida real de lado, veamos los componentes de cadaaplicación de Android.

Actividades 

Las actividades son los bloques de construcción de la interfaz de usuario. Por lo tanto,se puede decir que una actividad es lo mismo que una ventana en una aplicación de

 

Escritorio.

Sin embargo, es posible tener una actividad sin que esté presente ningún tipo deinterfaz gráfica, como servicios o proveedores de contenidos.

Una aplicación en Android puede contener varias actividades.

Content Providers 

Page 16: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 16/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Los proveedores de contenidos son una capa de abstracción para cualquier tipo dedatos o información almacenada en el dispositivo que es accesible por variasaplicaciones.

El modelo de desarrollo de android sugiere hacer que la información de tu aplicaciónesté disponible para otras aplicaciones también. Creando un proveedor de contenido sepuede permitir que varias aplicaciones tengan acceso a los datos, pero gestionandocuales lo pueden hacer.

Intents 

Los intents son sistemas de mensajes, ejecutándose dentro del dispositivo , notificando

 

las aplicaciones de varios eventos como ser cambio de estado del hardware (cuando se

 

introduce una tarjeta SD), llegada de información (cuando llega un SMS), eventos de

aplicación.

Servicios 

Las actividades, Intents, y proveedores de contenidos tienen un corto ciclo de vidadentro de Android, en cambio los servicios están diseñados para mantenersecorriendo, si se requiere un proceso que corra independientemente de una actividad,por ejemplo un reproductor de música que se mantiene reproduciendo en segundoplano a pesar que cambiemos de actividad.

Características que tiene Android para ayudarnos en eldesarrollo 

Android cuenta con varias cosas interesantes que nos hace la vida más fácil a losdesarrolladores tales como:

Almacenamiento: Se puede empaquetar la información dentro de la mismaaplicación, tal información como strings, imágenes y recursos, o leer y escribirinformación en la una tarjeta SD.

Redes: La mayoría de los dispositivos Android están listos para conectarse a interneta través de algún medio de comunicación como Ethernet, Wifi, 3G o Edge.

Multimedia: Los dispositivos Android tienen la habilidad de reproducir audio y video,

 

sacar fotografías o incluso hacer grabar video.

Acelerómetros: Muchos dispositivos Android cuenta con acelerómetros dentro de su

 

Hardware, los cuales pueden ser utilizados de manera fácil mediante las libreríascorrespondientes.

Page 17: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 17/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

GPS: Los dispositivos android frecuentemente tendrán acceso a dispositivos GPS paralocalización, desplegando mapas y direcciones.

Servicios Telefónicos: Los dispositivos Android, que generalmente son teléfonos ,permiten al software iniciar llamadas , enviar y recibir SMS, y todo lo que se pueda

 

llevar a cabo con la telefonía moderna.

Configuración del Emulador de Android 

Lo que más me gusta del desarrollo en Android, es que el SDK incluye un emuladorbastante bueno, fácil de configurar que simula a la perfección las condiciones de undispositivo Real, permitiéndonos probar una seria de configuraciones tales como

 

resolución, tamaño de la pantalla, versión del sistema SO con el objetivo de hacer que

 

nuestra aplicación sea compatible desde un gran número de dispositivos, incluso

 

podemos Emular el Samsung Galaxy Tab!

Para poder configurar un dispositivo Android virtual vamos al directorio dondeinstalamos el Android SDK y hacemos click en el ejecutable  SDK Manager , el cual enmi pc se encuentra en C:\Users\Administrador\android-sdk_r07-windows\android-sdk-windows.

Esperamos un momento y se abrirá la siguiente ventana:

En esta ventana podemos elegir las versiones del SDK de Android y demásherramientas que nos pueden ser útiles, eligiéndolas haciendo click en accept las

 

instalamos, recomiendo instalar todos los archivos.

Dependiendo de nuestra velocidad de internet la instalación se puede tardar de un

 

pocos minutos a una hora.Cuando ya se hizo la instalación nos dirigimos a la sección denominada  VirtualDevices , y hacemos click en New:

Page 18: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 18/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Se abre una nueva ventana en donde se tienen los siguientes campos:

Name: Nombre que le vamos a dar a nuestro dispositivo.

 

Target: Versión del SO Android a utilizar.

 

SD Card: Tarjeta de memoria se puede establecer el tamaño de la SD o utilizar un

archivo. Skin: Apariencia que va a tener el dispositivo. Hardware: Aquí podemos agregar soporte para tarjetas SD, densidad del LCD,Acelerómetro, Soporte para DPAD, Soporte para reproducción de audio, Soporte paraTrackBall, Batería, Touch Screen, Cámara GPS, etc.

Creemos el siguiente dispositivo: Name: ANDROID Target: Android 1.5

 

SD Card: 1024 Skin: Default HVGA Hardware: Lo dejamos por defecto.

Click en Create AVD, y podemos ejecutar nuestra máquina virtual eligiendo el nombrede la máquina que acabamos de crear, y haciendo click en el botón Start y launch de laventana que se abre.

Ya tenemos un dispositivo listo para ser utilizado en nuestros desarrollos.

Nuestro Primer Proyecto de Android 

Page 19: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 19/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Eclipse es un entorno de desarrollo bastante simple, muy similar a otros comoNetBeans, .Net o incluso al mismo y poderoso Turbo C.

En el contamos básicamente con 4 áreas de interés:

1. Ventana de Código y pestañas, aquí escribimos nuestro código y abrimos losdistintos ficheros dentro de nuestro proyecto.2. Explorador de Paquetes, aquí se encuentran todos nuestros proyectos y podemosexplorarlos, abrirlos, cerrarlos.3. Barra inferior, aquí se muestran los errores, declaraciones, problemas y la consolade java.

 

4. Barra de Menú, donde tenemos todas las acciones a realizar con el IDE.

Con el SDK debidamente configurado, para crear una nueva aplicación de androidprocedemos a hacer lo siguiente:

Click en File->New-> Project Hacemos click en el ítem que dice  Android  y elegimos un Android Project. En la ventana que se abre escribimos el nombre del proyecto  Hello World  en eltextbox Project Name, elegimos  Create new Project in workspace . Elegimos el checkbox en Build Target:  Android 1.5   En el panel Properties le damos un nombre a la aplicación, pongamos  Hello World  

 

(sin comillas obviamente).

 

En Package name pongamos Android.Neoteo, en créate activity ponemos  Main .

 

Next y Finish.

Ya tenemos nuestro primer proyecto de Android Creado.

Estructura de un Proyecto de Android 

Cuando se crea un nuevo proyecto de Android se verán varios ítems en el directorioprincipal del proyecto:AndroidManifest.xml, es un fichero XML que describe la aplicación que se va aconstruir, como también que componentes van a ser utilizados.

Page 20: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 20/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

build.xml, un script Ant1 para compilar la aplicación e instalarla en el dispositivo.default.properties, un archive de propiedades usadas por el script Ant.

 

bin/ Ficheros de la aplicación compilada. libs/ Aquí se guardan cualquier tipo de librería externa (Java Jars) que requiera laaplicación.

 

src/ Código Fuente de la aplicación.

res/ Guarda recursos como iconos, Layout de la Interfaz de Usuario y otros,empaquetados y compilados en la aplicación. assets/ Guarda otros ficheros estáticos que se deseen empaquetar con la aplicación.res/drawable/ Folder para guardar imágenes (JPEG, PNG,ETC)res/layout/ Para especificaciones de la interfaz de usuario de tipo XML.res/menu/ Para especificación del menu de tipo XML.res/raw/ Ficheros de uso general.res/values/ strings, valores, dimensiones, constants, etc.

 

res/xml/ ficheros XML que deseemos guardar y utilizar.

El android Manifest 

Los cimientos de cualquier aplicación de android se encuentran en el Manifest, el cualcorresponde al archivo AndroidManifest.XML.

En este archivo se declara que es lo que se encuentra dentro de nuestra aplicación, lasactividades, servicios.Dentro de este archivo también se establecen varias opciones como los permisos de

 

aplicación, instrumentación (código que debe ser invocado por eventos clave del

 

sistema), librerías adicionales, elementos de aplicación.

Cuando se crea un nuevo proyecto, este Manifest es creado por defecto por Eclipse.

Para los que no lo sepan, el Android Manifest esta descrito en XML, el cual es unlenguaje de descripción de datos, enfatizando simplicidad, generalidad y usabilidad.

En resumen, es un lenguaje que describe información, utilizando tags <> </> paracrear campos de información.

 

Si XML se les hace muy similar, es que XML es el lenguaje padre de HTML, si en HTML

 

definimos elementos de una página web, en XML podemos definir cualquier tipo de

 

información para que pueda ser estructurado y comprendido por alguna aplicación.

El android manifest por defecto tiene los siguientes tags:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="Neoteo.Android"android:versionCode="1"android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

 

<activity android:name=".Main"android:label="@string/app_name"><intent-filter>

Page 21: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 21/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />

 

</intent-filter></activity>

</application>

</manifest>

Permisos 

Sin en algún momento instalaron una aplicación en Android habrán notado que almomento de instalar pregunta si le damos permisos para ejecutar ciertas

 

funcionalidades como internet, GPS, File System,

Al momento de desarrollar una aplicación debemos configurar en el android manifest

 

los permisos que requiere, si no hacemos esto de manera correcta, nos saldrá un error

al ejecutar la aplicación y no se ejecutará de manera correcta.

Para hacerlo, definimos los permisos de la siguiente manera:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="Neoteo.Android"><uses-permission

 

android:name="android.permission.ACCESS_LOCATION" /><uses-permission

android:name="android.permission.ACCESS_GPS" /> <uses-permission

android:name="android.permission.ACCESS_ASSISTED_G PS" /> 

<uses-permissionandroid:name="android.permission.ACCESS_CELL_ID" /> <application>...</application>

 

</manifest>

Dependiendo de la aplicación, iremos viendo los permisos requeridos a lo largo de lospróximos ejemplos del tutorial.

Más adelante veremos con mayor detalle al android manifest, ya que de por si elmismo podría abarcar un capítulo entero, pero ya nos podemos impacientes por quequeremos desarrollar aplicaciones ¿Verdad?.

A programar de una vez: Hello world! 

Después de haber creado el proyecto tendremos todo el árbol de directorios como se

 

explicó en la sección anterior, navegamos el árbol del proyecto que se despliega a laizquierda en el Package Explorer y elegimos \Src , hacemos click en el archivo que sellama Neoteo.Android, esta es nuestra actividad principal y tenemos el siguiente

Page 22: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 22/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

código:

Código:

package Neoteo.Android;

import android.app.Activity;

import android.os.Bundle;

public class Main extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.main);

}}

Borremos todo el código y sustituyámoslo por el siguiente:

Código:

package Neoteo.Android;

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.util.Date;import android.os.Bundle;

public class Main extends Activity implements View.OnClickListener{

Button btn;@Override

public void onCreate(Bundle icicle) {super.onCreate(icicle);btn = new Button(this);btn.setText("Hello World");btn.setOnClickListener(this);setContentView(btn);}public void onClick(View view) {updateTime();

}private void updateTime() {btn.setText(new Date().toString());

}}

Para poder ejecutarlo solo tenemos que hacer click en Project  Build All  y luego Click

 

en la opción de menú  Run  ( o el redondito verde con el simbolo de Play), nos sale undialogo y elegimos  Android Aplication , si no tenemos configurada una máquinavirtual la configuraremos a continuación, o de lo contrario la aplicación se ejecutara enla máquina configurada por defecto.

Y ya tenemos nuestro primer programa que despliega un clásico  Hello World , sihacemos click sobre la aplicación actualiza el texto por la fecha y hora actual.

Page 23: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 23/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Sin embargo pepito preguntará ¿Cómo funciona?, ahora vamos a diseccionar el códigopara ver cómo funciona nuestro mini frankestein:

Código:

package Neoteo.Android; //Paquete de la aplicación, aquí es donde se empaquetantodos los archivos

/*Los siguientes imports son las librerías que se utilizan, tales como Activityque definen las actividades, Button que es para poder utilizar un botón ennuestra aplicación, Date para poder utilizar fechas, si algún desarrollador dejava esta por acá se dará cuenta que estamos utilizando algunas de las libreríasestándar de Java*/import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.util.Date;import android.os.Bundle;

Código:

//Definimos la clase y agregamos un Listener de Eventos, el cual ejecutara unevento cuando se haga un click en determinado component de la aplicaciónpublic class Main extends Activity implements View.OnClickListener {

Button btn; //Creamos un botón simple.@Overridepublic void onCreate(Bundle icicle) { //Para muchos programadores este

es el punto de entrada a la aplicación, podemos considerarlo como el Load.super.onCreate(icicle);btn = new Button(this); //Instanciamos el Nuevo boton, que como

podemos ver es una clase!btn.setText("Hello World"); //Establecemos la propiedad del text la

clase instanciadabtn.setOnClickListener(this); //Agregamos el manejador de evento al

botón,le decimos que utilice el manejador por defecto en esta clase.setContentView(btn); //Establecemos la vista de contenido con el botón

para dibujar el mismo en pantalla.}public void onClick(View view) {//Funcion a la cual llama el manejador

de eventosupdateTime();

}private void updateTime() {//Funcion para actualizar la etiqueta del

boton con el Datetime actualbtn.setText(new Date().toString());

}}

Fin de la Transmisión 

Como podemos ver hemos abarcado temas bastante interesantes en esta parte del

tutorial, ahora somos capaces de ejecutar un dispositivo Android Virtual, conocemos la

estructura de directorios, sabemos que es una Actividad, Servicio, Intent y podemos

escribir código satisfactoriamente desplegando texto y manejando eventos simples.

A partir de este momento el desarrollo de Android se pone más interesante, y en

posteriores capítulos vamos a ver con más detalle el manejo de eventos, interfaces

Page 24: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 24/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

gráficas, manejo de periféricos y comunicación.

Ahora que tienen las bases, ¿Qué esperan? A crear aplicaciones!

Programación en Android: Parte IV

Introducción a los Layouts XML 

Introducción al tema 

Continuando con esta serie de tutoriales, ya tenemos todas las herramientasnecesarias para poder desarrollar aplicaciones más complejas, teniendo aprendidos los

conceptos básicos de la programación en android. Por lo tanto, vamos a ver conceptosmás específicos como son las interfaces gráficas, las cuales usan Layouts (Diseños odisposición de los elementos dentro de las actividades).

Aunque es técnicamente posible desarrollar aplicaciones creando desde código Java los

 

controles de aplicación tales como botones, checkbox, textbox (desde ahora los

 

denominaremos Widgets), el enfoque más utilizado es utilizar un fichero XML para

 

definir el Layout de la aplicación.

¿XML? 

XML es un lenguaje diseñado para transportar y guardar información, a diferencia deHTML el cual se utiliza para desplegar información, aunque ambos lenguajes estánemparentados.

XML son las siglas para Extensible Markup Language o Lenguaje extendió de Marcado,es un lenguaje autodescriptivo y utilizado como metalenguaje (porque es un lenguajeque se emplea para hacer referencia a otro lenguaje, en nuestro caso para darle unaestructura a la información que vamos a usar).

Como esta serie de tutoriales está dirigido a personas de todas las áreas trataremos de

 

simplificar la explicación con un pequeño ejemplo 

 

Código:

<?xml version=" 1.0 " encoding=" UTF-8 " standalone= " yes "?><ficha><nombre> Gabriel </nombre><apellido> Molina </apellido><direccion> Alfredo Vargas #36 </direccion></ficha>

Este pequeño segmento de código se ha definido una estructura básica para guardar lainformación de una persona en una ficha, respetando siempre los tags y la estructurabásica, esto también podría ser escrito de la siguiente manera: 

Page 25: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 25/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Código:

<?xml version=" 1.0 " encoding=" UTF-8 " standalone= " yes "?><ficha nombre = Gabriel Apellido=Molina Direccion=Alfredo> </ficha>

Se nos hace conocido la estructura de este último ejemplo?, pues es bastante similar aHTML, ya que HTML es un sublenguaje de XML.

Por lo tanto, XML nos da la posibilidad de estructurar la información, y almacenarlapara que pueda ser utilizada por una serie de aplicaciones y servicios, XML es la basepara el intercambio de información entre distintos dispositivos y servicios webmediante SOAP.

No obstante, por el momento no nos vamos a meter con SOAP, eso se verá adelantecuando consumamos un Servicio Web mediante Android.

¿Qué es un Layout basado en XML? 

Es una especificación de la relación entre Widgets y sus contenedores, con la actividad

en la que estamos trabajando, básicamente es una pequeña descripción de la

 

estructura que tendrá nuestra interfaz de usuario, utilizando XML.

Cada fichero XML contiene un árbol de elementos especificando el lugar de los widgetsy los contenedores que resultan en la jerarquía de vista, en palabras simples el ficheroXML define como se va a ver nuestra aplicación.

El Android SDK tiene una herramienta denominada aapt que usa estos layouts, estaherramienta se invoca automáticamente y permite el acceso a los widgets de nuestra

 

actividad directamente desde nuestro código JAVA.

Es preferible utilizar Layouts basados en XML por que existen aplicaciones que nos

 

ayudan a la creación de Layouts que hacen nuestra vida un poco más fácil, si elegimoshacerlo directamente por código podría llegar a complicarse este proceso.

Por otro lado, el uso de interfaces XML va de la mano con los estándares de laindustria que utilizan estándares similares como Microsoft XAML, Adobe Flex y MozillaXUL, incluso los que trabajamos con ASP.net podemos ver que en un fichero definimosla interfaz de usuario y en otro el code behind o la lógica de la aplicación (funciones,variables, métodos, etc.), de forma bastante similar a como lo hacemos en Android.

Creando un Botón mediante un XML Layout 

Ahora vamos a ver el botón del ejemplo anterior, pero creado utilizando un LayoutXML.Siguiendo los pasos para crear un nuevo proyecto detallados en el post anterior (ParteIII), tenemos que crear un nuevo proyecto denominado HelloWorld2.

Cuando ya lo tengamos creado, abrimos el árbol de directorio y navegamos eldirectorio res\layout, ahí encontramos el fichero del Layout XML denominadomain.xml.

Hacemos click sobre Main.xml, se abre una nueva ventana donde se ve una interfaz

Page 26: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 26/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

gráfica donde podemos arrastrar y soltar elementos, pero vamos a hacer click en lapestaña inferior que dice  main.xml  al lado de  Graphical Layout , y reemplazamos el

 

contenido de ese archivo por lo siguiente:

Código:

<?xml version="1.0" encoding="utf-8"?>

<Button xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/button"android:text=""android:layout_width="fill_parent"android:layout_height="fill_parent"/>

Si ejecutamos la aplicación, podemos ver que se ha creado el botón, sin embargo

 

tenemos que poder manipular este botón desde código, como lo hacemos?

Lo hacemos de la siguiente manera:

Código:

package Neoteo.Android;

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.util.Date;public class HelloWorld2 extends Activity

implements View.OnClickListener {Button btn;@Overridepublic void onCreate(Bundle icicle) {super.onCreate(icicle);

setContentView(R.layout.main);

btn=(Button)findViewById(R.id.button);btn.setOnClickListener(this);btn.setText("Hola Mundo!");}public void onClick(View view) {updateTime();

}private void updateTime() {btn.setText(new Date().toString());

}}

Mediante la sentencia Código:

setContentView(R.layout.main);

Para decirle a la actividad que el layout se encuentra en el fichero main.xml de lacarpeta layout.

Posteriormente utilizamos Código:

btn=(Button)findViewById(R.id.button);

Page 27: Programación en Android PDF por Neue Ansatz

5/12/2018 Programación en Android PDF por Neue Ansatz - slidepdf.com

http://slidepdf.com/reader/full/programacion-en-android-pdf-por-neue-ansatz 27/27

 

Fuente Freddy-A en http://www.neoteo.com Pdf por Neue Ansatz

 

Para que encuentre el botón en el fichero XML y lo asigne como referencia a la variablebtn que hemos creado, mediante este simple proceso podemos definir un componente

 

de la aplicación o Widget desde el fichero XML, y podemos asignarlo a una variablepara poder manipularlo.

A partir de ahora podemos cambiar el texto del botón, cambiar su color, tamaño, etc.

Tarea para los estudiantes 

Se me ocurrió darles una pequeña tarea para que investiguen y la resuelvan, ahora tansolo les pido que me digan, como cambio el color del botón del ejemplo anterior?

Fin de la Transmisión 

Al parecer las cosas se complican un poco, pero no lo vean asi, veanlo como que

obtenemos mas herramientas para ser buenos desarrolladores de Android, en breve

vamos a ver con más detalle acerca de los distintos tipos de Layouts y Widgets. Por lo

tanto, señores a hacer su tarea y publicar imágenes acerca de la misma en el hilo de

preguntas, vamos a dar una mención especial al primero que lo haga.