android presentacion

31
DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO D TEHUANTEPEC VII SEMANA ACADEMICA, CULTURAL Y DEPORTIVA, IESI 2011 I.S.C. OSCAR EDUARDO ROA VEL [email protected] [email protected] JUCHITAN DE ZARAGOZA, OAXACA, MÉXI NOVIEMBRE, 2011 NOVIEMBRE, 2011 1 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

Upload: istmosoft

Post on 22-May-2015

1.741 views

Category:

Documents


5 download

DESCRIPTION

Presentacion de android Basico

TRANSCRIPT

Page 1: Android presentacion

1

DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO DE ESTUDIOS SUPERIORES DEL ISTMO DE TEHUANTEPECVII SEMANA ACADEMICA, CULTURAL Y DEPORTIVA, IESIT 2011

I.S.C. OSCAR EDUARDO ROA [email protected]

[email protected] DE ZARAGOZA, OAXACA, MÉXICO

NOVIEMBRE, 2011

NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

Page 2: Android presentacion

2NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTRODUCCIÓN

Con Android, Google ha hecho una apuesta arriesgada entrando en un mundo en el que ya

brillan con luz propia Nokia con Symbian, Apple con su IPhone, Black-Berry o Windows Mobile.

¿Para qué necesitaba el mundo un nuevo SO para móviles? Existen algunas diferencias que

hacen de Android una opción muy interesante para los fabricantes, y cómo no, para los usuarios

y desarrolladores.

A diferencia de sus competidores, Android es software libre, lo que permite que los fabricantes

puedan usarlo sin necesidad de pagar. Por otra parte, al correr sobre Linux, es fácilmente

portable y adaptable a casi cualquier hardware.

Android no es el primer sistema móvil basado en Linux y que es software libre. La propia Nokia

abandera el proyecto Maemo, e incluso Ubuntu desarrolla Ubuntu Mobile, pero no parecen

alcanzar la masa crítica necesaria.

Page 3: Android presentacion

3NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

ANDY RUBIN, EL CREADOR DE ANDROID

Andy Rubin, norteamericano, es Vicepresidente de Ingeniería en Google y Director de

Plataformas Móviles, y es el flamante creador de Android una plataforma de código abierto para

teléfonos inteligentes y dispositivos móviles.

Historia

• En 1989 se vuelve Ingeniero de Apple.

• En 1992 se cambia al proyecto de General Magic

• General Magic fracasa y se va a la ruina, momento en el cual Andy se unió a Artemis Research y que

en 1997 fue comprada por Microsoft.

• Luego de varios años, renunció para fundar Danger Inc., que también fue adquirida por Microsoft en

2002, y fue destituido de su cargo de Director General.

• Su paso final en esta etapa, fundar en 2003 Android Inc.

• En el 2005, cuando Android Inc. contaba con 22 meses de vida, Google adquirió la empresa.

• No fue hasta el 5 de Noviembre de 2007 que se hizo el anuncio oficial de Android.

Page 4: Android presentacion

4NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

ADQUISICIÓN POR PARTE DE GOOGLE

En julio de 2005, Google adquirió Android Inc., una pequeña compañía de Palo Alto, California

fundada en 2003. Entre los cofundadores de Android que se fueron a trabajar a Google están

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 diseño y el

desarrollo de la interfaz en WebTV). En ese entonces, poco se sabía de las funciones de Android

Inc. fuera de que desarrollaban software para teléfonos móviles. Esto dio pie a rumores de que

Google estaba planeando entrar en el mercado de los teléfonos móviles.

En Google, el equipo liderado por Rubin desarrolló una plataforma para dispositivos móviles

basada en el kernel de Linux que fue promocionado a fabricantes de dispositivos y operadores

con la promesa de proveer un sistema flexible y actualizable. Se informó que Google había

alineado ya una serie de fabricantes de hardware y software y señaló a los operadores que

estaba abierto a diversos grados de cooperación por su parte.

Page 5: Android presentacion

5NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

OPEN HANDSET ALLIANCE

El 5 de noviembre de 2007 la Open Handset Alliance, un consorcio de varias compañías entre las

que están Texas Instruments, Broadcom Corporation, Nvidia, Qualcomm, Samsung Electronics,

Sprint Nextel, Intel, LG, Marvell Technology Group, Motorola, y T-Mobile; se estrenó con el fin

de desarrollar estándares abiertos para dispositivos móviles.

Junto con la formación de la Open Handset Alliance, la OHA estrenó su primer producto,

Android, un plataforma para dispositivos móviles construida sobre la versión 2.6 del kernel de

Linux.

El 9 de diciembre de 2008, se anunció que 14 nuevos miembros se unirían al proyecto Android,

incluyendo PacketVideo, ARM Holdings, Atheros Communications, Asustek, Garmin, Softbank,

Sony Ericsson, Toshiba, Vodafone y ZTE.

Page 6: Android presentacion

6NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

HISTORIAL DE ACTUALIZACIONES

Android ha visto numerosas actualizaciones desde su liberación inicial. Estas actualizaciones al

sistema operativo base típicamente arreglan bugs y agregan nuevas funciones. Generalmente

cada actualización del sistema operativo Android es desarrollada bajo un nombre en código de

un elemento relacionado con postres.

En cada versión el postre elegido empieza por una letra distinta siguiendo un orden alfabético:

• C :: Cupcake (v1.5), magdalena glaseada.

• D :: Donut (v1.6), rosquilla.

• E :: Éclair (v2.0/v2.1), pastel francés.

• F :: Froyo (v2.2), (de «frozen yogurt») yogur helado.

• G :: Gingerbread (v2.3), pan de jengibre.

• H :: Honeycomb (v3.0/v3.1/v3.2), panal.

• I :: Ice Cream Sandwich (4.0), sandwich de helado.

• J :: Jelly Bean (¿¿??) Gominola

Page 7: Android presentacion

7NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

ANDROID MARKET

Android Market es la tienda en línea de software desarrollado por Google para dispositivos

Android. Un programa de aplicación ("app") llamado "Mercado" está preinstalado en la mayoría

de los dispositivos Android y permite a los usuarios navegar y descargar aplicaciones publicadas

por los desarrolladores de terceros, alojado en Android Market. Google retribuye a los

desarrolladores con el 70% del precio de su aplicación.

Por otra parte, los usuarios pueden instalar aplicaciones desde almacenes de terceros (tales

como Amazon Appstore o SlideME) o directamente en el dispositivo si tiene o descarga el

fichero APK de la aplicación.

Page 8: Android presentacion

8NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

ARQUITECTURA DE ANDROID

El corazón de Android es el kernel Linux, donde se encuentran los drivers necesarios para el

acceso al hardware, en concreto, para la gestión de la pantalla, el teclado, la cámara, la red Wi-

Fi, el audio y la memoria Flash, entre otros.

En principio, el desarrollador no accederá directamente a esta capa, sino que utilizará una serie

de librerías que están en un nivel superior y que nos abstraen del hardware.

Estas librerías, entre las que se incluyen la propia libc, están programadas en C. Otras librerías

de este nivel son SQLite para la gestión de bases de datos, FreeType para las fuentes de texto,

WebKit y SSL para la navegación web y el cifrado de comunicaciones, e incluso OpenGL ES para

aprovechar la aceleración gráfica del dispositivo.

Page 9: Android presentacion

9NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

ARQUITECTURA DE ANDROID

Aunque estén escritas en C, el programador accede a ellas desde un API de Java, que es el

lenguaje que se usa para desarrollar en Android. Para ello, el sistema incluye una máquina

virtual java (JVM). La máquina virtual que incluye Android se llama Dalvik, y ha sido creada por

Google para correr en dispositivos con poca memoria y poca capacidad de proceso.

A diferencia de la JVM de SUN, Dalvik ejecuta archivos .dex en lugar de los clásicos

archivos .class de Java. Los archivos .dex son más compactos y están más optimizados para el

entorno del teléfono. No dispondremos de toda la API de JavaSE o JavaME, sino que se incluye

un subconjunto llamado Core Libraries.

Toda la programación del dispositivo se hace usando el Framework de aplicación, que nos

ofrece todo lo necesario.

Page 10: Android presentacion

10NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

EL ENTORNO DE DESARROLLO

La última versión del SDK de Android es la 4.0. El SDK nos ofrece, además de un emulador, todas

las aplicaciones y librerías que vamos a necesitar para desarrollar aplicaciones. El emulador

recrea perfectamente un móvil Android, por lo que, en principio, casi todo el desarrollo

podremos hacerlo sin usar un terminal real.

Para instalar el SDK sólo hay que descomprimir el archivo que hemos descargado en un

directorio (por ejemplo, /opt/androidSDK/ en linux ó c:/androidSDK en windows), y ya

podremos empezar a trabajar con el SDK; sin embargo, usarlo directamente puede ser un poco

engorroso.

Page 11: Android presentacion

11NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

EL ENTORNO DE DESARROLLO

Afortunadamente, han pensado en todo y han creado alternativas mas cómodas para

desarrollar aplicaciones Android.

• Motodev de Motorola.

• App Inventor en línea.

• Plugin Android para Eclipse

• Plugin Android para NetBeans

Con este ultimo desarrollaremos una aplicación para calcular la edad de una persona

Page 12: Android presentacion

12NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

CodificaciónArchivo XML :: main.xml Archivo Java :: MainActivity.java

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" android:gravity="center" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Dame tu Fecha de Nacimiento" android:gravity="center" android:textColor="#000000" android:textSize="18px" /> <DatePicker android:id="@+id/dtpFechaNac" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Calcular Edad" android:id="@+id/btnCalcular" /></LinearLayout>

public class MainActivity extends Activity implements OnClickListener{ private DatePicker dtpFechaNac; private Button btnCalcular; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

dtpFechaNac = (DatePicker) this.findViewById(R.id.dtpFechaNac); btnCalcular = (Button) this.findViewById(R.id.btnCalcular); btnCalcular.setOnClickListener(this); }

public void onClick(View view) { dtpFechaNac.refreshDrawableState(); Toast.makeText(this.getBaseContext(), "La Edad es: " + calculaEdad(dtpFechaNac.getDayOfMonth(),dtpFechaNac.getMonth(),dtpFechaNac.getYear()) , Toast.LENGTH_LONG).show(); }

private int calculaEdad(int dia, int mes, int anio){ Calendar nacimiento = Calendar.getInstance(); nacimiento.set(anio,mes,dia); return Calendar.getInstance().get(Calendar.YEAR) - nacimiento.get(Calendar.YEAR); }}

Page 13: Android presentacion

13NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

MODELO DE PROGRAMACIÓN (Activities)

Antes de crear nuestra primera aplicación Android, vamos a exponer algunos conceptos que

habrá que tener presentes a la hora de crear aplicaciones.

Empecemos con las Actividades (Activities). Una Actividad se corresponde con una pantalla de

la aplicación, es decir, que tendremos tantas actividades como pantallas tenga nuestro

programa.

Cada Actividad es responsable de mantener su estado, de forma que puedan integrarse en el

ciclo de vida de la aplicación, que es gestionado por el propio framework de aplicación. En

Android podemos crear las interfaces de usuario de dos formas, desde la propia actividad

usando código Java, o usando un fichero XML para describirla como si fuera una página HTML.

Page 14: Android presentacion

14NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

MODELO DE PROGRAMACIÓN (Intents)

Otro elemento importante son los Intents. Un Intent es un mecanismo para describir una

acción, por ejemplo, hacer una foto o enviar un email. Todas las acciones que queramos realizar

la haremos Mediante Intents.

Este mecanismo es muy flexible ya que, por ejemplo, podríamos crear una actividad para envío

de mensajes SMS y registrarla de forma que maneje el Intent correspondiente. De esta forma,

cuando alguien quiera enviar un SMS mediante este Intent, se invocará nuestra actividad en vez

de la actividad por defecto para envío de mensajes.

En el primer ejemplo que desarrollaremos en este ponencia, le pediremos a Android que abra

una página web mediante un Intent, y el sistema operativo sabrá qué aplicación tiene que

utilizar para ello.

Page 15: Android presentacion

15NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

MODELO DE PROGRAMACIÓN (Services)

Los Servicios (Services) son tareas que corren en segundo plano, como si se tratara de un

demonio Unix. Imaginemos que queremos hacer sonar un MP3, pero mientras escuchamos,

queremos poder seguir usando el teléfono.

Mediante un servicio, podemos dejar sonando la música de fondo mientras usamos otras

aplicaciones. Una actividad puede luego acoplarse a un servicio para, por ejemplo, parar o

cambiar la canción.

Page 16: Android presentacion

16NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

MODELO DE PROGRAMACIÓN (Contents Providers)

Por último, los Proveedores de contenido (Contents Providers) almacenan datos que son

compartidos por todas las aplicaciones. El acceso a esos datos se hace a través del API definida

para cada proveedor de contenidos. Un ejemplo de proveedor de contenidos que ofrece Google

son los contactos que tenemos almacenados en nuestro teléfono.

Desde nuestra aplicación podremos acceder a los contactos usando el proveedor de contenidos

correspondiente.

Page 17: Android presentacion

17NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO

• Activity

Pantalla que se muestra al usuario. Las actividades se componen de vistas.

• View

Controles o widgets de la interfaz de usuario. Elemento básico de la interfaz que permite la

interacción con el usuario.

• ViewGroup

Composición de vistas. Los controles complejos y el Layout heredan de la clase base ViewGroup.

“Existen muchas vistas y layout’s predefinidos aunque puedes crear los tuyos propios”

Page 18: Android presentacion

18NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO

•View

Una vista es un área rectangular en la pantalla que gestiona el tamaño, el dibujado, el cambio

de foco y los gestos del área que representan.

La clase android.view.View sirve de clase Base para todos los “widgets”.

Vistas disponibles: TextView, EditText, Button, RadioButton, Checkbox, DatePicker TimePicker,

Spinner.

Page 19: Android presentacion

19NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO

•ViewGroup

Una vista especial que contiene otras vistas hijas. ViewGroup es la clase base los layouts y vistas

contenedoras.

Esta clase también define la clase ViewGroup.LayoutParams

Layouts:

AbsoluteLayout, TableLayout, LinearLayout, RelativeLayout,…

ViewGroups:

DatePicker, Gallery, GridView ListView, ScrollView, Spinner, TabWidget ...

Page 20: Android presentacion

20NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO

Las vistas se organizan en estructuras de árbol cuya raíz es un ViewGroup

setContentView() permite añadir una vistas a una actividad.

La plataforma Android ofrece dos métodos para diseñar la interfaz:

• Procedural (código)

• Declarativa (XML)

Page 21: Android presentacion

21NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO (Diseñando interface de forma declarativa XML.)

El framework android permite diseñar la interfaz de manera declarativa en XML. Especificando

que se quiere ver en la pantalla y no como se tiene que mostrar. (Similar al HTML)

Procedural Archivo XML

Archivo Java

TextView tv= new TextView(this) tv.setWidth(100); tv.setHeight(60); tv.setText("phone"); setContentView(tv);

Archivo XML <TextView android:id="@+id/nameLabel" android:text="phone:" android:layout_width="100" android:layout_height="60" />

Page 22: Android presentacion

22NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO (Diseñando interface de forma declarativa XML.)

El método declarativo permite separar la presentación de la aplicación del código que contrala

su comportamiento.

El tenerlos separarlos permite modificar la interfaz de la aplicación sin modificar el código

fuente. Así, se podría diseñar layouts para diferentes orientaciones de la pantalla, diferentes

tamaños de pantalla o diferentes idiomas sin tocar el código fuente.

Existe un convenio de nombres entre los atributos del xml y los métodos de los objetos.

<TextView android:text="phone:"/> ... TextView tv= new TextView(this); tv.setText("Phone");

Page 23: Android presentacion

23NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO (Diseñando interface de forma declarativa XML.)

Las vistas heredan atributos de sus clases base y definen sus propios atributos.

El atributo id identifica a la vista dentro del árbol y permite recuperarla desde la aplicación.

El símbolo (@) indica al parser del xml que lo que viene a continuación lo trate como un

identificador de recurso.

El símbolo (+) indica que el nombre que viene a continuación es un nombre nuevo y debe ser

añadido a la clase de recursos R.java

<TextView android:id="@+id/nameLabel" android:text="phone:" android:layout_width="100" android:layout_height="60" />

Page 24: Android presentacion

24NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

INTERFAZ DE USUARIO (Diseñando interface de forma declarativa XML.)

Cuando se compila la aplicación se compila también cada archivo xml de presentación y queda

accesible desde la clase R “View Resource” generada por android.

findViewById. Permite acceder a la vista desde una actividad

R.Java Clase generada por Android que permite acceder a los recursos una vez compilados como

atributos estáticos

<Button android:id="@+id/btnAceptar" android:text="@string/aceptar" android:layout_width="wrap_content" android:layout_height="wrap_content" />

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

Page 25: Android presentacion

25NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

LAYOUT

Un Layout’s son contenedores invisibles que determinan la disposición de las vistas en la pantalla.

Todos los layouts heredan de ViewGroup. Android recomienda definir el layout en XML mediante

archivos de layout que se encuentran en res/layout/main_layout.xml.

Cuando se compila la aplicación se compila también cada archivo xml de layout y queda accesible

desde la clase R “View Resource” generada por Android.

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }

Page 26: Android presentacion

26NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

LAYOUT

Tipos de layout:

• LinearLayout: dispone los hijos horizontal o verticalmente

• RelativeLayout: dispone unos elementos relativos a los otros

• TableLayout: dispone los elementos en filas y columnas

• AbsoluteLayout: dispone los elementos en coordenadas exactas

• FrameLayout: permite cambiar dinámicamente los controles en el layout

La clase Layout contiene una clase LayoutParams que es especializada por cada tipo de Layout.

(LinearLayoutParams, RelativeLayoutParams,…)

Page 27: Android presentacion

27NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

VISTAS

Android viene con un conjunto de vistas “controles” bastante completo para dibujar textos, botones,

obtener fechas, mostrar listas, mostrar imágenes, webs, mapas, etc.

Page 28: Android presentacion

28NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

VISTAS

Texto. Android incluye distintos componentes para mostrar y permitir la entrada de texto por parte del

usuario.

Vistas de Texto

• TextView Muestra el texto. No permite editarlo (Label).

• EditText Componente de edición de texto, acepta varias líneas

• AutoCompleteTextView Ofrece sugerencias del texto escrito

• MultiAutoCompleteTextView Ofrece sugerencias de cada palabra

Page 29: Android presentacion

29NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

VISTAS

Botones. Existen todo tipo de botones, botones simples, con imágenes, check buttons, radio buttons,

toogle buttons…

• Button. Botón estandar

• ImageButton. Botón con imagen

• ToogleButton. Botón de 2 estados On | Off

• CheckBox. Checkbox estandar , selección multiple

• RadioButton. RadioButton estandar, selección simple

Page 30: Android presentacion

30NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

VISTAS

ListView. Muestra una lista de elementos verticalmente. Se puede diseñar la apariencia de los

elementos de la lista. Normalmente se usa con una ListActivity y un ListAdapter.

Pasos para crear un ListView

1. Diseñar la vista de los elementos de la lista en res/layout/listItem.xml

2. Crear una actividad que herede de ListActivity

3. Pasarle los datos al adaptador de la lista

4. En onCreate asignarle el ListAdapter a la actividad

5. Añadirle la vista a la actividad

Page 31: Android presentacion

31NOVIEMBRE, 2011 I.S.C. Oscar Eduardo Roa Vela DESARROLLO DE APLICACIONES MÓVILES CON ACCESO A DATOS REMOTOS

INSTITUTO TECNOLÓGICO DEL ISTMOCONGRESO REGIONAL DE SISTEMAS E INFORMÁTICA

VISTAS

WebView. Permite embeber un navegador en una actividad. El navegador incluye opciones para

navegar hacia adelante y hacia atrás, zoom, etc

Pasos para crear un WebView

1. Diseñar la vista en res/layout/main.xml

2. Modificar el AndroidManifest.xml para añadir permisos y configurar a pantalla completa

3. Crear una actividad

4. En onCreate llamar al setContentView pasándole el id de la vista