Manual Programacion Android - Muestra

download Manual Programacion Android - Muestra

of 8

Transcript of Manual Programacion Android - Muestra

Manual de Programacin Androidwww.sgoliver.net Volumen 1Versin 1.0

Salvador Gmez Oliver

IMPORTANTEEste documento es tan slo un fragmento de muestra del Curso completo de Programacin en Android de sgoliver.net, al que podis acceder de forma gratuita desde la siguiente URL:

http://www.sgoliver.net/blog/?p=1313

ContenidosNOTAS DEL AUTOR .............................................................................................................................. 4 A QUIN VA DIRIGIDO ESTE MANUAL? ............................................................................................... 4 LICENCIA.............................................................................................................................................. 4 CAPITULO 1 // CONCEPTOS BSICOS ................................................................................................... 5 Entorno de desarrollo Android .................................................................................................... 6 Estructura de un proyecto Android ........................................................................................... 10 Componentes de una aplicacin Android .................................................................................. 13 Desarrollando una aplicacin Android sencilla .......................................................................... 15 CAPITULO 2 // INTERFAZ DE USUARIO ............................................................................................... 22 Layouts ..................................................................................................................................... 23 Controles bsicos (I) .................................................................................................................. 28 Controles bsicos (II) ................................................................................................................. 32 Controles bsicos (III) ................................................................................................................ 36 Controles de seleccin (I) .......................................................................................................... 39 Controles de seleccin (II) ......................................................................................................... 43 Controles de seleccin (III) ........................................................................................................ 48 Controles de seleccin (IV) ........................................................................................................ 52 Controles personalizados (I) ...................................................................................................... 55 Controles personalizados (II) ..................................................................................................... 58 Controles personalizados (III) .................................................................................................... 67 CAPITULO 3 // WIDGETS .................................................................................................................... 73 Widgets en Android (I) .............................................................................................................. 74 Widgets en Android (II) ............................................................................................................. 79 CAPITULO 4 // MENUS ....................................................................................................................... 87 Mens en Android (I): Mens y Submens bsicos .................................................................... 88 Mens en Android (II): Mens Contextuales ............................................................................. 93 CAPITULO 5 // TRATAMIENTO DE XML ............................................................................................... 98 Tratamiento de XML con SAX .................................................................................................... 99 Tratamiento de XML con SAX Simplificado .............................................................................. 106

Pg. 2

Tratamiento de XML con DOM ................................................................................................ 110 Tratamiento de XML con XmlPull ............................................................................................ 115 CAPITULO 6 // BASES DE DATOS ...................................................................................................... 118 Primeros pasos con SQLite ...................................................................................................... 119 Insertar/Actualizar/Eliminar .................................................................................................... 125 Consultar/Recuperar registros ................................................................................................ 128 Preferencias en Android (I): Shared Preferences ..................................................................... 130

Pg. 3

NOTAS DEL AUTOREl presente libro surge como una recapitulacin de todos los artculos, convenientemente adaptados, sobre programacin para la plataforma Android publicados en la web www.sgoliver.net.

A QUIN VA DIRIGIDO ESTE MANUAL?Este manual va dirigido a todas aquellas personas interesadas en un tema tan en auge como la programacin de aplicaciones mviles para la plataforma Android. Se tratarn temas dedicados a la construccin de aplicaciones nativas de la plataforma, dejando a un lado por el momento las aplicaciones web. Es por ello por lo que el nico requisito indispensable a la hora de utilizar este manual es tener conocimientos bien asentados sobre el lenguaje de programacin Java y ciertas nociones sobre aspectos bsicos del desarrollo actual como la orientacin a objetos.

LICENCIAEste documento y todo el cdigo fuente suministrado, al igual que todos los contenidos publicados en el blog sgoliver.net, se publica bajo licencia Creative Commons Reconocimiento NoComercial SinObraDerivada 3.0 Espaa (CC BY-NC-ND 3.0). Siga el enlace anterior para obtener informacin detallada sobre los trminos de la licencia indicada.

Pg. 4

Controles bsicos (I)En el artculo anterior ya vimos los distintos tipos de layouts con los que contamos en Android para distribuir los controles de la interfaz por la pantalla del dispositivo. En los prximos artculos dedicados a Android vamos a hacer un repaso de los diferentes controles que pone a nuestra disposicin la plataforma de desarrollo de este sistema operativo. Empezaremos con los controles ms bsicos y seguiremos posteriormente con algunos algo ms elaborados. En este primer post sobre el tema nos vamos a centrar en los diferentes tipos de botones y cmo podemos personalizarlos. El SDK de Android nos proporciona tres tipos de botones: el clsico (Button), el de tipo on/off (ToggleButton), y el que puede contener una imagen (ImageButton). En la imagen siguiente vemos el aspecto por defecto de estos tres controles.

No vamos a comentar mucho sobre ellos dado que son controles de sobra conocidos por todos, ni vamos a enumerar todas sus propiedades porque existen decenas. A modo de referencia, a medida que los vayamos comentando ir poniendo enlaces a su pgina de la documentacin oficial de Android para poder consultar todas sus propiedades en caso de necesidad. Control Button [API] Un control de tipo Button es el botn ms bsico que podemos utilizar. En el ejemplo siguiente definimos un botn con el texto Plsame asignando su propiedad android:text. Adems de esta propiedad podramos utilizar muchas otras como el color de fondo (android:background), estilo de fuente (android:typeface), color de fuente (android:textcolor), tamao de fuente (android:textSize), etc.

Control ToggleButton [API] Un control de tipo ToggleButton es un tipo de botn que puede permanecer en dos estados, pulsado/no_pulsado. En este caso, en vez de definir un slo texto para el control definiremos dos, dependiendo de su estado. As, podremos asignar las propiedades android:textOn y android:textoOff para definir ambos textos.

Pg. 5

Veamos un ejemplo a continuacin.

Control ImageButton [API] En un control de tipo ImageButton podremos definir una imagen a mostrar en vez de un texto, para lo que deberemos asignar la propiedad android:src. Normalmente asignaremos esta propiedad con el descriptor de algn recurso que hayamos incluido en la carpeta /res/drawable. As, por ejemplo, en nuestro caso hemos incluido una imagen llamada ok.png por lo que haremos referencia al recurso @drawable/ok.

Eventos de un botn Como podis imaginar, aunque estos controles pueden lanzar muchos otros eventos, el ms comn de todos ellos y el que querremos capturar en la mayora de las ocasiones es el evento onClick. Para definir la lgica de este evento tendremos que implementarla definiendo un nuevo objeto View.OnClickListener() y asocindolo al botn mediante el mtodo setOnClickListener(). La forma ms habitual de hacer esto es la siguiente:final Button btnBoton1 = (Button)findViewById(R.id.BtnBoton1); btnBoton1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { lblMensaje.setText("Botn 1 pulsado!"); } });

En el caso de un botn de tipo ToggleButton suele ser de utilidad conocer en qu estado ha quedado el botn tras ser pulsado, para lo que podemos utilizar su mtodo isChecked(). En el siguiente ejemplo se comprueba el estado del botn tras ser pulsado y se realizan acciones distintas segn el resultado.

Pg. 6

final ToggleButton btnBoton2 = (ToggleButton)findViewById(R.id.BtnBoton2); btnBoton2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { if(btnBoton2.isChecked()) lblMensaje.setText("Botn 2: ON"); else lblMensaje.setText("Botn 2: OFF"); } });

Personalizar el aspecto un botn [y otros controles] En la imagen anterior vimos el aspecto que presentan por defecto los tres tipos de botones disponibles. Pero, y si quisiramos personalizar su aspecto ms all de cambiar un poco el tipo o el color de la letra o el fondo? Para cambiar la forma de un botn podramos simplemente asignar una imagen a la propiedad android:background, pero esta solucin no nos servira de mucho porque siempre se mostrara la misma imagen incluso con el botn pulsado, dando poca sensacin de elemento clickable. La solucin perfecta pasara por tanto por definir diferentes imgenes de fondo dependiendo del estado del botn. Pues bien, Android nos da total libertad para hacer esto mediante el uso de selectores. Un selector se define mediante un fichero XML localizado en la carpeta /res/drawable, y en l se pueden establecer los diferentes valores de una propiedad determinada de un control dependiendo de su estado. Por ejemplo, si quisiramos dar un aspecto plano a un botn ToggleButton, podramos disear las imgenes necesarias para los estados pulsado (en el ejemplo toggle_on.png) y no pulsado (en el ejemplo toggle_off.png) y crear un selector como el siguiente:

Este selector lo guardamos por ejemplo en un fichero llamado toggle_style.xml y lo colocamos como un recurso ms en nuestra carpeta de recursos /res/drawable.

Pg. 7

Hecho esto, tan slo bastara hacer referencia a este nuevo recurso que hemos creado en la propiedad android:background del botn:

En la siguiente imagen vemos el aspecto por defecto de un ToggleButton y cmo ha quedado nuestro ToggleButton personalizado.

El cdigo fuente completo de este artculo est disponible entre los ejemplos suministrados con el manual. Fichero: /Codigo/android-botones.zip

Pg. 8