Desarrollo de Aplicaciones para Android

Documentos relacionados
Desarrollo de Aplicaciones para Android

Android y Java para Dispositivos Móviles

Desarrollo de Aplicaciones para Android

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles Introducción. Herramientas del curso de Experto.

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles Introducción. Herramientas del curso de Especialista.

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Plataforma Android. Sesión 1: introducción a Android

App Android: Desarrollo de aplicaciones en Android.

Introducción a la Programación en Android

Samsung Tech Ins.tute - UPM DESARROLLO DE APLICACIONES EN ANDROID. Mayo Abraham Gu.érrez Rodríguez. Abraham Gu.

Tema 1: Redes y plataformas móviles Depto. Ciencia de la Computación e IA

Introducción al Desarrollo de Aplicaciones Móviles con Android

Índice. Herramientas de desarrollo. Historia Qué es Android? Arquitectura del sistema. Componentes Android Modelos de Negocio

Bloque 1. Introduccio n a Android

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

Introducción a Android. [Tema 2]

Unidad 3. PrimerProyecto. Nuestra primera aplicacio n Android

Tecnología de Programación

Principios de la programación en Android y API básico

Curso de programación en Android. 19/Junio/2012 Ramón Alcarria Augusto Morales

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

Patricio Olivares. 25 de abril de 2017

Práctico 3 Procesador de Textos Año TRABAJO PRACTICO Nº 3 - Procesador de Textos

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android

Introducción a la programación Android. Programación III - 6to año Escuela Técnica ORT Leo Lob -

DESARROLLO DE APLICACIONES EN ANDROID

Introducción a Android

Android - Conceptos. Rogelio Ferreira Escutia

INSTITUCIÓN EDUCATIVA JOSÉ EUSEBIO CARO ÁREA DE TECNOLOGÍA E INFORMÁTICA JESÚS EDUARDO MADROÑERO RUALES TIPOS DE CONECTIVIDAD

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android

PUERTOS DE COMUNICACIONES

Desarrollo de aplicaciones para dispositivos móviles (5)

Android Basic Development Jorge Luis Hernández C.

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

ACTUALIZACION DEL CATALOGO DE TERMINALES VODAFONE ESPAÑA. Información Confidencial Página 1

Crear un Splash-Screen

Curso Experto en Programación Android

Android TAG y el principio DRY

Sistemas Operativos Móviles. Juan Valentin Perdomo Bonilla Universidad Surcolombiana

Smartphone & Android. Alfonso Felipe Lima Cortés febrero 2012

Plataforma Android. Índice

Qué son los Dispositivos Móviles?

DISPOSITIVOS MOVILES VANESSA SARASTI

Introducción a Android

Programación Android Completo

Aplicaciones sobre Android

Hola Android. Introducción al desarrollo de aplicaciones para Android

Programación en Android

GLOSARIO 1.2G: 2-2.5G 3G: Bluetooth: Bps: Bits por Segundo CEPT (European Postal Telephone and Telegraph):

Grupo de Usuarios de Linux Universidad Carlos III de Madrid Jornadas de Noviembre Desarrollando Aplicaciones para Android.

En nuestra actividad principal, creamos el objeto vista previa. Este objeto se creará el objeto cámara y volver a la actividad CameraDemo.

Capitulo 1: Plataforma Android

Curso de iniciación a Java para Android (60 horas)

Red de comunicaciones (o red de telefonía móvil) Telefonía Móvil. Terminales (o teléfonos móviles)

Samsung J510F J Dual Sim White

TEMA 1. Introducción

Sistema embebido. Computador encapsulado dentro de dispositivo. Introducción. Introducción. xport hardware TCP/IP. xport herram.

Un Smartphone (Teléfono inteligente en español) es un dispositivo que funciona en un teléfono celular con características similares a las de un

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

Curso de: Programación de móviles con Android

QUIÉN SE HA LLEVADO MI ANDROID? ING. TELECOM. JIMY ESPINOZA R. CHARLA S.O ANDROID PERÚ LIMA 1

ODROID-C2: MINI COMPUTADORA ODROID VERSION C2 CON DISIPADOR

Diego David. Argüello Rivera. Directora: Soraya Lucia Sinche Maita. Ingeniería Eléctrica y Electrónica, Escuela Politécnica Nacional.

Laboratorio 01: Generación del Hola Mundo Android

INTRODUCCIÓN A LA PROGRAMACIÓN ANDROID. Duración en horas: 60 OBJETIVOS DEL CURSO

Android y Recursos. Android R.java (fichero)

Desarrollo Para Dispositivos Móviles.

Cómo se produce LA COMUNICACIÓN?

DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES CON ANDROID

3GPP-EPS Evolved Packet System

Movistar Negocios Julio 2016

Cursos de orientación profesional

Desarrollo de Apps para Android

Internet y la telefonía móvil

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos

Tema 2: Introducción a Android

Visión general y entorno de desarrollo

Mezcla de Equipos Corporativos para Líneas Nuevas. Diciembre 2012

1- FLYPOS hardware/firmware Tecnología

Programación en Android LSUB, GSYC, URJC

YA ENCONTRE MI ANDROID? ING. TELECOM. JIMY ESPINOZA R. CHARLA S.O ANDROID PERÚ LIMA CODE PASSION 2012 UNIVERSIDAD SAN MARCOS

Luis Sosa : Cesar Hernández:

3G : Sí. 4G : Sí. GPS : Sí. 3G : Sí. 4G : Sí

SISTEMA OPERATIVOS MOVILES

Redes de Datos. Tema XI: Redes Inalámbricas WPAN

Desarrollo de apps para móviles Android. Introducción a Android

Lista de siglas y acrónimos Cómo leer este libro?... 19

TEMA 2 CONEXIONES INALÁMBRICAS

LISTA DE PRECIOS PRODUCTO DESCRIPCION PRECIO MODELO

Ahora veamos algunos de los cables más comunes para conectar los dispositivos a nuestra PC. 1- Cable de power, del toma eléctrico al CPU.

Introducción a la programación de aplicaciones con Android. Fernando Pérez Costoya

Versiones del API de Android

Desarrollo de aplicaciones para dispositivos móviles (2) M.C. Ana Cristina Palacios García

2. Fundamentos de Tecnologías de Información. 2.5 Telecomunicaciones y Redes

Android Professional

CAPÍTULO 1. Visión general y entorno de desarrollo... 21

Desarrollo de aplicaciones para Android

Transcripción:

Desarrollo de Aplicaciones para Android Sesión 1: Introducción a Android Introducción a Android-1

Puntos a tratar Dispositivos móviles Historia de Android Desarrollo de aplicaciones Emulador AndroidManifest.xml Externalizar recursos Plug-in para Eclipse Hola, Mundo! Introducción a Android-2

Historia de los smartphones Primeros smartphones en los 90 Nokia communicator en 1996 Primer smartphone con sistema operativo abierto en 2000: Ericsson R380 con Symbian OS Smartphone actuales: Pantalla táctil Opcionalmente teclado físico Sistema operativo con Market para aplicaciones Sensores (GPS, equilibrio) Cámaras y videoconferencia Capacidad de almacenamiento y conectividad Introducción a Android-3

Procesador Snapdragon de Qualcomm Arquitectura ARM (en el 98% de los smartphones) Tipo RISC: reduced instruction set computer Instrucciones ARMv7 Plataforma system on chip que incluye: Hasta dos CPU's de 1.5 Ghz HSPA+ GPS Bluetooth Video full definition Wi-Fi TV móvil Introducción a Android-4

Procesador Apple A5 ARM Cortex-A9 1 GHz ajustable Fabricado por Samsung Instrucciones ARMv7 Todos los componentes del system on chip Introducción a Android-5

Dispositivos b Introducción a Android-6

Conectividad Los dispositivos deben conectarse para descargar las aplicaciones Over The Air (OTA) Conexión a Internet usando la red móvil (GSM, GPRS, UMTS) Cable serie o USB Conexión física Infrarrojos Los dispositivos deben tener contacto visual Bluetooth Ondas de radio (10 metros de alcance) Alta velocidad (723kbit/s) Introducción a Android-7

Redes de telefonía celular 1G: Red analógica Sólo voz Red TACS en España Distintos países usan distintas redes No permite itinerancia 2G: Red digital Voz y datos GSM (Global System for Mobile communications) en toda Europa Permite itinerancia Red no IP Protocolos WAP (WSP) Un gateway conecta la red móvil (WSP) a la red Internet (TCP/IP) Conmutación de circuitos (Circuit Switched Data, CSD) 9 6kbps Se ocupa un canal de comunicación de forma permanente Se cobra por tiempo de conexión Introducción a Android-8

Redes de telefonía celular (2) 2,5G: GPRS (General Packet Radio Service) Transmisión de paquetes No ocupa un canal de forma permanente Hasta 144kbps teóricamente (40kbps en la práctica) Cobra por volumen de información transmitida Se implementa sobre la misma red GSM 3G: Banda ancha Red UMTS (Universal Mobile Telephony System) Itinerancia global Entre 384kbps y 2Mbps Servicios multimedia Videoconferencia, TV, música, etc Transmisión de paquetes Requiere nueva infraestructura Introducción a Android-9

Redes de telefonía celular (3) 3.5G: HSDPA (High-Speed Downlink Packet Access) mejora del scheduling de UTMS R99 y añade un nuevo canal downlink Acceso a Internet con mayor ancho de banda y menor latencia: hasta 14Mbps Variante HSPA+ hasta 84Mbps bajada y 22Mbps subida. Terminales con HSDPA son compatibles con UTMS Introducción a Android-10

Redes de telefonía celular (4) 4G LTE (Long term evolution) Nuevo estándar de la norma 3GPP UMTS Hasta 326,5Mbps de bajada y 86,5Mbps subida Ancho de banda adaptativo entre 1.4 y 20 MHz Celdas de 5Km óptimo, hasta 100Km Alto rendimiento en movimiento hasta 15 Km/h. Conexión posible hasta 500Km/h 4G Basada completamente en protocolo IP Abandonaría el acceso radio de UMTS, controlándolo por software Implantada en Japón desde diciembre de 2011 5G: No está definido. Ideas: ubiquituous computing, conectado a la vez a diferentes fuentes de datos, smart-radio, servicio Introducción a Android-11 desde vehículos aéreos

Paradigmas de programación en móviles Documentos Web Descarga documentos y los muestra en un navegador Formato adecuado para móviles (WML, XHTML,...) Requiere conectar a red para descargar cada documento Velocidad de descarga lenta Documentos pobres (deben servir para todos los móviles) Aplicaciones locales La aplicación se descarga en el móvil Se ejecuta de forma local Interfaz de usuario más flexible Puede funcionar sin conexión (minimiza el tráfico) Introducción a Android-12

Documentos Web WML (Wireless Markup Language) Forma parte de los protocolos WAP (Capa de aplicación, WAE) Lenguaje de marcado dirigido a móviles Requiere aprender un nuevo lenguaje diferente a HTML Documentos muy pobres imode Documentos escritos en chtml (HTML compacto) Subconjunto de HTML Propietario de NTT DoCoMo Sobre la red japonesa PDC-P (extensión de la red japonesa PDC, similar a GSM, para transmisión de paquetes) En Europa se lanza sobre GPRS XHTML MP Versión reducida de XHTML dirigido a móviles A diferencia de chtml, se desarrolla como estándar Introducción a Android-13

Aplicaciones locales Sistema operativo Symbian OS, Palm OS, Windows Pocket PC, Windows Mobile, Android, ios, etc Poco portable Requiere aprender nuevas APIs Runtime Environments BREW Soportado por pocos dispositivos Requiere aprender una nueva API Java ME (J2ME) Soportado por gran cantidad de dispositivos Existe una gran comunidad de desarrolladores Java Introducción a Android-14

Sistema operativo o entorno de ejecución? Los SO aprovechan mejor el dispositivo y ofrecen mejor acceso al hardware y periféricos Los smartphones usan SO Los SO más extendidos entre los smartphones son ios y Android El usuario es libre de usar cualquiera de ellos El desarrollador se ve obligado a desarrollar para ambas plataformas (y otras) para llegar a todos Plataforma de ejecución no dependemos del sistema operativo hay más de 2 mil millones de dispositivos con Introducción a Android-15 JavaME

Sistemas operativos Android (open source) BlackBerry OS de RIM (propietario) ios de Apple (propietario) Symbian OS (open source) Windows Phone (propietario) webos de HP (algunas partes abiertas) QNX de RIM (propietario) SHR (basado en linux) bada de Samsung (propietario) Brew de Qualcomm Introducción a Android-16

Sistemas operativos antes de 2010 Introducción a Android-17

Sistemas operativos en el mercado actual Estadísticas de uso según Gartner Introducción a Android-18

Sistemas operativos en el mercado actual Introducción a Android-19

Android Sistema operativo para dispositivos móviles Núcleo basado en el de Linux Programación de aplicaciones en Java Introducción a Android-20

Historia: motivación Los dispositivos embebidos se programaban a bajo nivel: necesidad de entender todo su hardware Sistemas operativos: abstracción del hardware Ej: Symbian. Código en C/C++. Nivel medio/bajo, bibliotecas propietarias, complicaciones con hardware específico. Java ME: abstrae del HW y del SO. Máquina virtual limita el acceso a hardware. Introducción a Android-21

Historia: android Android 1.1 se publica en febrero de 2009 (coincide con la proliferación de smartphones táctiles). Siguientes versiones: 1.5 Cupcake (basada en el núcleo de Linux 2.6.27) 2.2 Froyo (basada en el núcleo de Linux 2.6.32) Introducción a Android-22

Nombres basados en repostería Introducción a Android-23

Nombres basados en repostería 2.3 Gingerbread Introducción a Android-24

Nombres basados en repostería 3.0 / 3.1 Honeycomb (orientado a tablets) Introducción a Android-25

Nombres basados en repostería 4.0 Ice Cream Sandwich (tablets / móviles) Introducción a Android-26

Estadísticas de uso de versiones Junio de 2012 Introducción a Android-27

Licencia Android Sistema operativo (Licencia Apache) Plataforma de desarrollo (Licencia Apache) Licencia Apache Open Source Permite a los fabricantes añadir extensiones propietarias sin ponerlas en manos de la comunidad del software libre Introducción a Android-28

Open Source El open source hace posible: Una comunidad de desarrollo, gracias a sus completas APIs y documentación ofrecida. Desarrollo desde cualquier plataforma (Linux, Mac, Windows, etc). Un sistema operativo para cualquier tipo de dispositivo móvil, al no estar diseñado para un sólo tipo de móvil. Posibilidad para cualquier fabricante de diseñar un dispositivo que trabaje con Android, y la posibilidad de abrir el sistema operativo y adaptarlo o extenderlo para su dispositivo. Valor añadido para los fabricantes de dispositivos: las empresas se ahorran el coste de desarrollar un sistema operativo completo para sus dispositivos. Valor añadido para los desarrolladores: los desarrolladores se ahorran tener que programar APIs, entornos gráficos, aprender acceso a dispositivos hardware particulares, etc. Introducción a Android-29

De qué está hecho? Núcleo (branch) basado en linux (memoria, procesos, hardware) Bibliotecas open source (SQLite, WebKit, OpenGL, manejador de medios, etc). Entorno de ejecución Dalvik Framework de desarrollo: pone a disposición de las aplicaciones los servicios del sistema SKD: herramientas, plug-in para Eclipse, emulador, ejemplos, doc. Interfaz de usuario para pantalla, dispositivos de entrada, etc. Aplicaciones preinstaladas (destacamos Flash Player) Android Market Introducción a Android-30

Desarrollan Android: Open Handset Alliance Trata de definir estándares abiertos para dispositivos móviles Consorcio de decenas de compañías (entre ellas está Google): Operadores de telefonía móvil Fabricantes de dispositivos Fabricantes de procesadores y microelectrónica Compañías de software Compañías de comercialización Introducción a Android-31

Cuestiones éticas Aspectos positivos Código abierto Valor añadido para todos Mantenibilidad Seguridad informática Transparencia del uso de sensores Servicios gratuitos de Google Introducción a Android-32

Cuestiones éticas Aspectos negativos Obligatorio log-in con el ID de Google (dependencia) Constante intercambio de datos con Google Envío de localización (desactivable) Los usuarios no están concienciados de la dependencia de los servidores de Google y lo aceptan sin más. Aunque el SO sea libre, gran parte de su valor está en los servicios gratuitos de Google, que no son libres ni conocemos el tratamiento que dan a nuestra información privada. Introducción a Android-33

Dispositivos Introducción a Android-34

Procesador Snapdragon de Qualcomm Arquitectura ARM (el 98% de los móviles la usan) Tipo RISC: reduced instruction set computer Plataforma que incluye: Hasta dos CPU's de 1.5 Ghz HSPA+ GPS Bluetooth Video full definition Wi-Fi TV móvil Introducción a Android-35

Android SDK Licencias, distribución y desarrollo gratuitos, tampoco hay procesos de aprobación del software. No diferencia entre aplicaciones nativas y de terceros. Acceso al hardware de WiFi, GPS, Bluetooth y telefonía, permitiendo realizar y recibir llamadas y SMS. Control completo de multimedia, incluyendo la cámara y el micrófono. APIs para los sensores: acelerómetros y brújula. Mensajes entre procesos (IPC). Almacenes de datos compartidos, proveedores de contenidos, SQLite, acceso a SD Card. Aplicaciones y procesos en segundo plano. Widgets para la pantalla de inicio (escritorio). Integración de los resultados de búsqueda de la aplicación con los del sistema. Uso de mapas y sus controles desde las aplicaciones. Aceleración gráfica por hardware, incluyendo OpenGL ES 2.0 para los 3D. Introducción a Android-36

Capas Introducción a Android-37

Tipos de aplicaciones Primer plano (activities) Segundo plano Servicios puros Servicios combinados con actividades Widgets de escritorio Introducción a Android-38

Consideraciones para el desarrollo Pequeña capacidad de procesamiento Memoria RAM limitada Memoria permanente de poca capacidad Pantallas pequeñas de poca resolución Transferencias de datos costosa (en términos de energía y económicos) y lenta Inestabilidad de las conexiones de datos Batería muy limitada Necesidad de terminar la aplicación en cualquier momento Introducción a Android-39

Consideraciones para el desarrollo Ser eficiente CPU Memoria Recursos y red Respetar al usuario No robar el foco Pocos avisos Interfaz intuitiva y coherente con Android Ver Guía de desarrollo de Android antes de publicar Introducción a Android-40

Emulador Introducción a Android-41

Emulador Terminal al emulador: telnet localhos 5554 AVD (Android Virtual Device) tiene que ser especificado (características hardware a emular). Nivel de API Emulación de SD card Introducción a Android-42

AndroidManifest.xml Presente en todo proyecto Android. Declaración de metadatos de la aplicación Nombre del paquete y de la aplicación Actividades, actividad principal Servicios Receptores broadcast Proveedores de contenidos Permisos API mínima, librerías. Introducción a Android-43

AndroidManifest.xml Estructura <?xml version="1.0" encoding="utf-8"?> <manifest> <uses-permission /> <permission /> <permission-tree /> <permission-group /> <instrumentation /> <uses-sdk /> <uses-configuration /> <uses-feature /> <supports-screens /> <application> <activity> <intent-filter> <action /> <category /> <data /> </intent-filter> <meta-data /> </activity> <activity-alias> <intent-filter>... </intent-filter> <meta-data /> </activity-alias> <service> <intent-filter>... </intent-filter> <meta-data/> </service> <receiver> <intent-filter>... </intent-filter> <meta-data /> </receiver> <provider> <grant-uri-permission /> <meta-data /> </provider> <uses-library /> </application> </manifest> Introducción a Android-44

AndroidManifest.xml Ejemplo <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="es.ua.jtech.ajdm.interfaces" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".interfaces" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name="subactividad" android:label="subactividad"> </activity> </application> <uses-sdk android:minsdkversion="8" /> </manifest> Introducción a Android-45

Externalizar recursos Hace la aplicación más mantenible y personalizable Adaptación a otros idiomas Carpeta res del proyecto res/values res/drawable-ldpi res/drawable-mdpi res/drawable-hdpi res/layout res/xml Introducción a Android-46

Externalizar recursos Valores, en formato XML: <?xml version="1.0" encoding="utf-8"?> <resources> <string name="saludo"> Hola!</string> <color name="verde_transparente">#7700ff00</color> <dimen name="altura_mifuente">12sp</dimen> <array name="ciudades"> <item>alicante</item> <item>elche</item> <item>san Vicente</item> </array> <style name="estilotexto1"> <item name="android:textsize">18sp</item> <item name="android:textcolor">#00f</item> </style>... </resources> Introducción a Android-47

Externalizar recursos Acceso a los recursos desde el código TextView tv = (TextView)findViewById(R.id.TextView01); tv.settext(r.string.saludo); Acceso a los recursos desde el XML @string/nombrestring Introducción a Android-48

Plug-in para Eclipse Instalación desde Eclipse: Help > Install new software > Available software > Add: https://dl-ssl.google.com/android/eclipse/ Ok, seleccionar el software, Next, Finish. Reiniciar Eclipse. Configuración: Windows > Preferences > Android > SDK Location: Indicamos la ruta del Android SDK que deberemos haber bajado aparte y descomprimido. Introducción a Android-49

Plug-in para Eclipse: plataformas Introducción a Android-50

Plug-in para Eclipse: plataformas Introducción a Android-51

AVD Manager Crear nuevo dispositivo virtual (AVD): Introducción a Android-52

Emulador Introducción a Android-53

Asistente para la creación de proyectos Genera la estructura básica del proyecto AndroidManifest.xml Actividad principal Layout Resto de recursos Introducción a Android-54

Asistente para crear recursos XML Introducción a Android-55

Vista Dalvik Debug Monitor Service Introducción a Android-56

Vista Debug Introducción a Android-57

Editor del AndroidManifest.xml Introducción a Android-58

Editor visual de layouts Introducción a Android-59

Hola, Mundo! Crear nuevo proyecto Se genera la estrctura básica: Introducción a Android-60

Hola, Mundo! AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="es.ua.jtech.ajdm.holamundo" 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> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> <uses-sdk android:minsdkversion="3" /> </manifest> Introducción a Android-61

Hola, Mundo! Recursos strings en res/values/strings.xml Introducción a Android-62

Hola, Mundo! Recursos strings en res/values/strings.xml Añadimos los string hola, mundo y que. <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">hello World, Main!</string> <string name="app_name">holamundo</string> <string name="hola">hola, </string> <string name="mundo"> Mundo!</string> <string name="que">hola qué?</string> </resources> Introducción a Android-63

Hola, Mundo! Layout en res/layouts/main.xml Introducción a Android-64

Hola, Mundo! Layout en res/layouts/main.xml Eliminamos la etiqueta y ponemos una nueva etiqueta TextView y un botón Button: <?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" > <TextView android:text="@+id/textview01" android:id="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:text="@+id/button01" android:id="@+id/button01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> Introducción a Android-65

Hola, Mundo! Layout en res/layouts/main.xml Cambiamos los atributos android:text para que muestren los string de los recursos. <?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" > <TextView android:text="@string/hola" android:id="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:text="@string/que" android:id="@+id/button01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> Introducción a Android-66

Hola, Mundo! Layout en res/layouts/main.xml Introducción a Android-67

Hola, Mundo! Emulación Introducción a Android-68

Hola, Mundo! Actividad y eventos Main.java package es.ua.jtech.ajdm.holamundo; import import import import android.app.activity; android.os.bundle; android.widget.button; android.widget.textview; public class Main extends Activity { /** Called when the activity is first created. */ TextView textview; Button button; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); textview = (TextView)findViewById(R.id.TextView01); button = (Button)findViewById(R.id.Button01); button.setonclicklistener(new OnClickListener() { @Override public void onclick(view v) { textview.append(getstring(r.string.mundo)); } }); } } Introducción a Android-69

Hola, Mundo! Emulación 2 Introducción a Android-70

Preguntas...? Introducción a Android-71