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

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

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

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

INTRODUCCIÓN A LA PROGRAMACIÓN ANDROID

Programación en Android

MASTER DESARROLLO DE APLICACIONES ANDROID

DESARROLLO DE APLICACIONES EN ANDROID

Desarrollo de Apps para Android

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

ANDROID BÁSICO - E-LEARNING - EN LÍNEA

Importar y exportar aplicaciones Para importar proyectos de Android a Android studio

Desarrollo de Aplicaciones para Android

Índice. Prólogo Capítulo I. Introducción Capítulo II. Conceptos...19

Android 7 Principios del desarrollo de aplicaciones Java

Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas

Sesión 4. Interfaz de Usuario en Android. Ing. Edwin Andrés Cubillos Vega Msc. Company LOGO

Cursos de orientación profesional

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

Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android

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

Desarrollo de aplicaciones para dispositivos móviles (5)

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

Especialización Android

ANDROID INTERMEDIO - E-LEARNING - EN LÍNEA

Curso Android. ADT Bundle. Android Developer Tools. Entorno de trabajo Toolbar principal SDK Manager. Emulador de Android. Crear proyecto Android

Ejercicios - Introducción al diseño de interfaces gráficas en Android

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android Intents e Intent Filters

Desarrollo Para Dispositivos Móviles.

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

Desarrollo de Aplicaciones para Android

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

Android y Java para Dispositivos Móviles

Ejercicios - Introducción a Android

Desarrollo de Aplicaciones para Android

INICIACIÓN A LA PROGRAMACIÓN PARA ANDROID

Anexo. Control de errores

Patricio Olivares. 25 de abril de 2017

Objetivos y Temario CURSO DESARROLLO APLICACIONES ANDROID 4.0

BEGINNERS CURSO TALLER: años. INICIO: 15 DE SETIEMBRE Viernes de 19:00 a 22:00h y sábados 09:00 a 12:00h

Unidad III.- Desarrollo de la interfaz de usuario. Diseño de layouts en Android.

Enrique Follow #XamarinDiplomado. Lección 1: Introducción a la Interfaz Gráfica en Xamarin

PROGRAMA DE MATERIA MATERIA:

Con este tutorial podrás aprender a cómo empezar a crear apps en Android, empezaremos con algo muy simple para que poco a poco vayas conociendo.

INTRODUCCIÓN.

* Introducción al mundo móvil. Qué es Android. Instalación y primeros pasos con Android.

Android y Java para Dispositivos Móviles

Taller Caldum Introducción al desarrollo Android

Curso Universitario de Desarrollo de Aplicaciones en Android para Dispositivos Móviles (Curso Homologado con Titulación Universitaria + 2 ECTS)

Android y Recursos. Android R.java (fichero)

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

Programa de Crecimiento y Actualización PROGRAMA. DESARROLLO DE Apps Móviles. con ANDROID

Android Creación de una aplicación sencilla: Forwarding - Página 1 -

Android 4 Principios del desarrollo de aplicaciones Java

Android TAG y el principio DRY

BASIC TREKKING Android: Fundamentos de Programación

Desarrollo de Aplicaciones para Android

Practica. Material Design. lunes 10 de octubre de 16

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

MANIPULACIÓN DE VISTAS (VIEW)

Teoría Intents Fecha 2016/04/12

MÁSTER. en desarrollo de aplicaciones. Dirigido a. Objetivos. Requisitos. Duración. Metodología. Contenidos

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

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

Google Maps: Especialista en Desarrollo de Apps para Android + Titulación Universitaria

Curso Online de Programación Android

PROGRAMA DE MATERIA DATOS DE IDENTIFICACIÓN DESCRIPCIÓN GENERAL OBJETIVO (S) GENERAL (ES) OPTATIVA PROFESIONALIZANTE II

Desarrollo de Aplicaciones para Android

Android 5 Principios del desarrollo de aplicaciones Java

Curso de Android con Java

Especialista TIC en Desarrollo y Programación de Aplicaciones para Android

Android Basic Development Jorge Luis Hernández C.

Google Maps: Especialista en Desarrollo de Apps para Android + Titulación Universitaria

Archivos y Carpetas de un proyecto Android

Activities/Intents en Android LSUB, GSYC, URJC

Android UI. Darío Fernando Chamorro Vela Junio 2012

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

Android: Técnico Especialista en Desarrollo de Aplicaciones para Android

Manual de usuario de Turnero Cliente 3

DESARROLLO DE APLICACIONES EN ANDROID

Unidad 5. Interfaz de Usuario

Curso de Desarrollo en Android Básico

Interfaz de usuario. Índice

UNA APLICACIÓN DE EJEMPLO: MIS LUGARES

Programación Android Completo

Curso Online de Introducción a la Programación Android: Práctico

Crear una Activity en Android. Paso por paso

Qué ofrece Autentia Real Business Solutions S.L?

CURSO ONLINE DE DESARROLLO DE APLICACIONES EN ANDROID NIVEL I

Programación Android. Rafael Morón Abad

Curso en Desarrollo y Programación de Aplicaciones para Android (Titulación Propia Universitaria + 4 Créditos ECTS)

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

Diseño de interfaces gráficas. JOSE LUIS BERENGUEL GÓMEZ Febrero 2012

Capacitación Android Básico

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos

Manejadores en Android LSUB, GYSC, URJC

Guía del Curso Analista Programador Android: Business Android Apps Expert

Transcripción:

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android Ramón Alcarria Miguel Ángel Manso 1 Elementos Activity Componente con el cual el usuario interactúa Intents Mensajes asíncronos que enlazan Activities, Services y Broadcasts Manifest Define ciertos aspectos de la aplicación Layouts Define componentes para el GUI (Graphical User Interface), es decir, las vistas 2 1

Elementos Service Componente que se ejecuta en segundo plano, para realizar tareas periódicas o responder a eventos en el sistema Broadcasts Evento del sistema: llamada, encendido, etc. Se puede capturar desde app Content Provider Componente que administra el acceso a un conjunto de datos estructurado 3 Activity Representa el componente principal de la interfaz gráfica de una aplicación Android. Se puede pensar en una actividad como el elemento análogo a una ventana en cualquier otro lenguaje visual. Una aplicación consiste en múltiples actividades consecutivas. Cuando una actividad termina su ejecución porque una nueva comienza, se actualiza su estado a través de callbacks. 4 2

Activity 5 Activity 6 3

Intents Un intent es el elemento básico de comunicación entre los distintos componentes Android descritos anteriormente. Son descripciones abstractas de lo que se desea ejecutar Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc. 7 Intents 8 4

AndroidManifest.xml Fichero que describe al SO información esencial sobre la aplicación antes de su ejecución Un nodo por cada uno de los componentes de la app (Activities, Services, Content Providers, and Broadcast Receivers) Intents a los que puede responder la aplicación Metadatos de la aplicación, como por ejemplo el icono Requisitos de seguridad, es decir, qué permisos tiene el usuario que dar a la aplicación (acceso a la agenda, a la red, etc) 9 AndroidManifest.xml Un aspecto sorprendente y relevante de Android es que rompe con el concepto tradicional de aplicación Una aplicación no es más que un conjunto de elementos que si se desea pueden ser utilizados por separado desde otras aplicaciones Ver permisos en Android Developers: http://developer.android.com/reference/android/manifes t.permission.html 10 5

AndroidManifest.xml 11 AndroidManifest.xml Permisos, ejemplos: <uses-permission android:name="android.permission.internet"></uses-permission> <uses-permission android:name="android.permission.vibrate"></usespermission> <uses-permission android:name="android.permission.camera"></usespermission> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.nfc" /> 12 6

Layout Elementos TextView: Un texto de sólo lectura. Soporta multilínea, formateo del texto y word wrapping EditText: Cuadro de edición de texto, puede ser multilínea ListView: Un grupo de vistas para mostrar elementos en una lista Spinner: Caja de selección Button CheckBox: Botón de dos estados RadioButton: Botones de dos estados agrupados. Sólo uno activo. 13 Layout Tipos de Layout FrameLayout: El más simple. Cada nueva vista se añade en la esquina superior izquierda. Cada nueva vista tapa la anterior. LinearLayout: Cada nueva vista se añade a continuación, bien verticalmente o bien horizontalmente RelativeLayout: La posición de cada nueva vista se define en relación a las otras y a los límites de la pantalla TableLayout: Las vistas se colocan como una matriz con filas y columnas AbsoluteLayout: La posición de cada vista hija se define en términos de sus coordenadas 14 7

Layout 15 Service Los servicios son componentes sin interfaz gráfica que se ejecutan en segundo plano. En concepto, son exactamente iguales a los servicios presentes en cualquier otro sistema operativo (de servidores web, impresora, antivirus). Los servicios pueden realizar cualquier tipo de acciones, por ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales (activities) si se necesita en algún momento la interacción con el usuario. 16 8

Service 17 Broadcast Receiver Un broadcast receiver es un componente destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema (por ejemplo: Batería baja, SMS recibido, Tarjeta SD insertada, ) o por otras aplicaciones. Cualquier aplicación puede generar mensajes (intents, en terminología Android) broadcast. Estos mensajes no están dirigidos a una aplicación concreta sino a cualquiera que quiera escucharlos. 18 9

Content provider Un content provider es el mecanismo que se ha definido en Android para compartir datos entre aplicaciones. Mediante estos componentes es posible compartir determinados datos de nuestra aplicación sin mostrar detalles sobre su almacenamiento interno, su estructura, o su implementación. De la misma forma, nuestra aplicación podrá acceder a los datos de otra a través de los content provider que se hayan definido. 19 Referencia a recursos Fuente: Paco Serradilla Referencia a un recurso desde el layout android:text="@string/more" android:src="@drawable/separator" Referencia a componentes de un layout desde el controller (el código) En el layout @+id/boton1 @+ significa que se crea el id para acceder desde el código @ significa que el recurso se ha definido previamente, o que está en los recursos de la app Mas información: http://www.intertech.com/blog/post/android-layout-and-id- Attribute.aspx 20 10

Acceso desde el código Para acceder a un componente definido en un layout, primero debemos identificarlo en el layout con un nombre <org.osmdroid.views.mapview android:id="@+id/openmapview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> Después, desde el código, usamos el método findviewbyid(int resourceid) para obtener una referencia al objeto usando el android:id definido en el XML myopenmapview = (MapView)findViewById(R.id.openmapview); 21 Acceso desde el código Como cambiar el texto de un recurso con una cadena definida en el fichero de strings Obtener el objeto con findviewbyid TextView texto = (TextView)findViewById(R.id.text1); Acceder al string por el ID String mensaje = getresources().getstring(r.string.bye_world) Cambiar el texto texto.settext(mensaje); 22 11

Asignar un controlador Se puede hacer desde el programa final Button button = (Button) findviewbyid(r.id.button_id); button.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // Perform action on click } }); O desde el layout <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="@string/more" android:onclick="domore" /> public void domore(view view) { Toast.makeText(this, "Hola, controlador", Toast.LENGTH_LONG).show(); } 23 Manejo de Intents Los intents permiten difundir mensajes en el sistema o hacia una actividad o servicio específico Expresan la intención de que se realice una acción Pero no tienen por qué definir quién realizará la acción En estos casos es responsabilidad del sistema decidirlo <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> 24 12

Logging Una de las técnicas más útiles a la hora de depurar y/o realizar el seguimiento de aplicaciones sobre cualquier plataforma es la creación de logs de ejecución. Android por supuesto no se queda atrás y nos proporciona también su propio servicio y API de logging a través de la clase android.util.log En Android Studio viene abierto por defecto el LogCat, donde se puede ver los logs generados por la aplicación en ejecución 25 Logging 26 13

Logging En Android los mensajes de log se van a clasificar por nivel crítico, existiendo así varias categorías (ordenadas de mayor a menor nivel): Error, Warning, Info, Debug, Verbose Para cada uno de estos tipos de mensaje existe un método estático independiente que permite añadirlo al log de la aplicación. Así, para cada una de las categorías anteriores tenemos disponibles los métodos e(), w(), i(), d() y v() respectivamente 27 Logging Log.e(LOGTAG, "Mensaje de error"); Log.w(LOGTAG, "Mensaje de warning"); Log.i(LOGTAG, "Mensaje de información"); Log.d(LOGTAG, "Mensaje de depuración"); Log.v(LOGTAG, "Mensaje de verbose"); 28 14