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

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

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

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

Programación en Android

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

INTRODUCCIÓN A LA PROGRAMACIÓN ANDROID

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

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

Desarrollo de Apps para Android

ANDROID INTERMEDIO - E-LEARNING - EN LÍNEA

Desarrollo Para Dispositivos Móviles.

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

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

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

MASTER DESARROLLO DE APLICACIONES ANDROID

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

INICIACIÓN A LA PROGRAMACIÓN PARA ANDROID

PROGRAMA DE MATERIA MATERIA:

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

Especialización Android

Curso Online de Programación Android

Android 7 Principios del desarrollo de aplicaciones Java

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

COMO CREAR APPS PARA ANDROID. Eduardo F. Sesma Martínez

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

Programación Android Completo

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

Introducción a Android. [Tema 2]

Taller Caldum Introducción al desarrollo Android

2 de 8

DESARROLLO DE APLICACIONES EN ANDROID

Desarrollo de aplicaciones móviles con Android

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

TEMA 1. Introducción

Tecnología de Programación

Curso Experto en Programación Android

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

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

Objetivos y Temario CURSO DESARROLLO APLICACIONES ANDROID 4.0

INTRODUCCIÓN A ANDROID

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

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

Practica 13. Recursos Alternativos. martes 8 de noviembre de 16

Desarrollo de aplicaciones para dispositivos móviles (5)

Android UI. Darío Fernando Chamorro Vela Junio 2012

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

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

BASIC TREKKING Android: Fundamentos de Programación

Android Basic Development Jorge Luis Hernández C.

Patricio Olivares. 25 de abril de 2017

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

Experto en Internet de las cosas con Arduino, Robótica Educativa y Programación en Android

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

Archivos y Carpetas de un proyecto Android

online Programación para dispositivos Android 4.x

Seminario de Lenguajes. (Opción Android)

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)

Material Design: Experto en Desarrollo Apps para Android + Titulación Universitaria

Presentación y objetivos

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos

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

Servicio de Instrucción CURSO MOBILE. Sílabo Mobile

Programación en Android LSUB, GSYC, URJC

Cursos de orientación profesional

Programación Android Completo

Material Design: Experto en Desarrollo Apps para Android + Titulación Universitaria

DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES CON ANDROID

Analista Programador Android: Business Android Apps Expert

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

Curso Superior en Desarrollo de Aplicaciones para Android y Marketing Mobile (Doble Titulación URJC & Educa + 2 Créditos ECTS)

Programación para Dispositivos Móviles. Company LOGO

Introducción a la Programación en Android

Master de APPS en Desarrollo de Aplicaciones Móviles + Proyecto Final + Titulación Universitaria

Layouts en Android LSUB, GSYC, URJC

GRADO: Ingeniería de Sistemas Audiovisuales CURSO: 4º CUATRIMESTRE: 2º PLANIFICACIÓN SEMANAL DE LA ASIGNATURA

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

DESARROLLO DE APLICACIONES EN ANDROID

Desarrollo y Programación de Aplicaciones para Android (Titulación Universitaria con 4 Créditos ECTS)

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

Material Design: Experto en Desarrollo Apps para Android + Titulación Universitaria

Analista Programador Android: Business Android Apps Expert + Titulación Universitaria

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

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

Especialista TIC en Aplicaciones Móviles + Marketing Mobile (Online)

Diplomado Aplicaciones Móviles para Negocios Electrónicos

Cursos El cerdito feliz. Programación de dispositivos Móviles con Android.

Parse: Experto en Apps Móviles para Android + Titulación Universitaria

Practica. Material Design. lunes 10 de octubre de 16

Curso Online de Desarrollo de Aplicaciones para ios y Android: Práctico

02 Vistas y Layouts Practica 2 e investigación 2

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

PMD SATCA 1 : Carrera:

GUÍA DOCENTE 2018/2019. Programación de Aplicaciones Grado en INGENIERÍA INFORMÁTICA 2º curso. Modalidad Presencial

División Académica de Informática y Sistemas

Android - Estructura. Rogelio Ferreira Escutia

Curso Online de Aplicaciones para Android con Java 8

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

Transcripción:

Introducción a la programación de aplicaciones con Android Fernando Pérez Costoya fperez@fi.upm.es

Introducción Sistema operativo para móviles Basado en Linux Entorno de desarrollo de apps móviles Basado en Java IDE recomendado: Android Studio Un poco de historia: Android Inc. (2003); comprado por Google (2005); recomendado por Open Handset Alliance (2007) Versión actual: 7.1.2 Nougat (API 25) En breve 8.0 Oreo Dominante en mercado de móviles

Pila software de Android (wikipedia)

Cuota mercado versiones de Android (agosto 2016) https://developer.android.com/about/dashboards/index.html

Cuota mercado SSOO para móviles http://www.idc.com/prodserv/smartphone-os-market-share.jsp

Componentes App puede tener 4 tipos de componentes: Actividades (Activities): Controlador de la UI; 1 actividad por pantalla Servicios (Services): Trabajo en segundo plano sin UI P.e. Reproducción de audio en segundo plano Proveedores de contenido (Content Providers) Proveen a apps acceso a datos compartidos P.e. Agenda de contactos Receptores de multidifusión (Broadcast Receivers) Responden a broadcasts del sistema o de otras apps P.e. Señal de batería baja

Ciclo de vida de una actividad

Componentes Declarados en el fichero Manifest Junto con otra metainformación de la app Permisos requeridos, HW requerido, bibliotecas usadas, API mínimo y target (actualmente, en fichero de proyecto),.. Se comunican mediante Intents ( mensajes ) Por defecto, ejecución en mismo thread Todos los componentes ejecutados en mismo thread Operación larga o bloqueante: UI no responde Usar un modo asíncrono: Se inicia operación y se recibe aviso de cuando termina Crear threads adicionales

Interfaz de usuario Similar a cualquier GUI Objetos contenedores: ViewGroup FrameLayout, RelativeLayout, LinearLayout, TableLayout, GridLayout, ScrollView, ListView,... Objetos de diálogo: View TextView, Button, ImageButton, EditText,... Programador puede crear nuevos App puede incluirlos programáticamente Pero mejor en fichero XML externo Separación vista y controlador

Árbol de Views (incompleto) http://www.ibm.com/developerworks/opensource/tutorials/os-eclipse-androidwidget/

Recursos Aplicación debe externalizar recursos Subdirectorios de directorio res: layout (diseño GUI), values (strings, colores, dimensiones, estilos,...), drawables,... Se empaquetan junto al código de la app Se pueden definir valores defecto y alternativos Permite adaptación automática de apps Directorios con sufijos calificadores de configuración: P.e. Values-es, layout-land, values-es-land,... Orden de calificadores expresa su prioridad: http://developer.android.com/guide/topics/resources/providing-resources.html Algoritmo busca mejor encaje

Proceso de generación de App https://www.bignerdranch.com/we-write/android-programming/

Primera aplicación Prueba a rotar el dispositivo (Crtl-F12). Qué sucede? Cómo se arregla? http://laurel.datsi.fi.upm.es/~ssoo/sd/reto_android.html

La frágil memoria de las actividades En el ejemplo, si se rota dispositivo: Se mantiene info. de UI pero se pierde la de la app Lo mismo cambiando locale Juega ahora con botones Back, Home, Recents Si Android destruye actividad Por cambio de configuración Por falta de recursos destruye proceso que la contiene Orden: 1º proceso vacío; 2º background; 3º visible; 4º foreground; No por finish o botón Back Salva estado de UI y lo restaura al reactivarse El resto de estado se pierde

Ciclo de vida revisitado Extraído de: Android Programming: The Big Nerd Ranch Guide

Salvando el estado de una actividad Activ. destruida por cambio conf o falta recursos SO invoca: onsaveinstancestate(bundle) Se almacena en Bundle par: ID variable a salvar y su valor putstring, putboolean,... Actividad recreada: oncreate(bundle) Se recuperan las variables (getstring, getboolean,...) Alternativa: gestión de cambios de configuración No destruye actividad; invoca onconfigurationchanged En manifiesto debe incluir android:configchanges android:configchanges= orientation En ejemplo1: android:configchanges="locale layoutdirection"

2ª app: 1ª app con memoria y adaptada a orientación y lenguaje http://laurel.datsi.fi.upm.es/~ssoo/sd/reto_android.html

Apps asociadas al reto App3: Broadcast receiver: cambios nivel batería App4: Gestión de sensores App5: Localización