android presentacion
DESCRIPTION
Presentacion de android BasicoTRANSCRIPT
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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); }}
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.
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.
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.
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.
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”
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.
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 ...
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)
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" />
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");
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" />
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);
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); }
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,…)
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.
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
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
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
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