Servicios de la plataforma Android

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Servicios de la plataforma Android"

Transcripción

1 Servicios de la plataforma Android Sesión 1: Librerías de compatibilidad y servicios Depto. Ciencia de la Computación e IA

2 Puntos a tratar Compatibilidad de versiones Fragmentos Loaders Librería de compatibilidad Librería de servicios de Google Play 2

3 Compatibilidad de versiones A mayor versión utilizada por nuestras aplicaciones Mayores funcionalidades y facilidades Menor compatibilidad Se especifican dos versiones <uses- sdk android:minsdkversion="4" android:targetsdkversion="17" /> Podemos utilizar de forma opcional funcionalidades avanzadas if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { // Utilizar características de Android 3.0 (Honeycomb) Algunas características no pueden ser utilizadas opcionalmente Por ejemplo los fragmentos 3

4 Fragmentos Característica introducida en Android 3.0 (Honeycomb) Orientada a la introducción de tablets Forma recomendada de estructurar la interfaz Nos permiten construir la interfaz de forma modular Una actividad puede mostrar varios fragmentos Según el tipo de dispositivo se puede variar la disposición 4

5 Creación de fragmentos Se crean heredando de Fragment Debemos definir el método oncreateview donde contruimos la interfaz Normalmente la construimos a partir de un layout XML public class DetalleFragment extends Fragment public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { return inflater.inflate(r.layout.fragmento, container, false); No es una actividad, pero puede que necesitemos tener acceso a la actividad contenedora Button boton = (Button)getActivity().findViewById(R.id.boton); Existen fragmentos especializados ListFragment, DialogFragment, PreferencesFragment 5

6 Ciclo de vida de los fragmentos 6

7 Añadir el fragmento a la actividad Los fragmentos siempre deben estar dentro de una actividad Existen dos formas de añadirlos: Estática Se añaden en el layout XML No pueden ser modificados en tiempo de ejecución Varios fragmentos al mismo tiempo en pantalla (tablets) Dinámica Se añaden desde el código de la actividad Podemos hacer transiciones entre fragmentos Útil para dispositivos en los que no se pueden mostrar todos en la misma pantalla 7

8 Fragments estáticos Se definen en el layout XML de la actividad <LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment android:name="es.ua.jtech.fragments.principalfragment" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="es.ua.jtech.fragments.detallefragment" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> </LinearLayout> 8

9 Fragments dinámicos Definimos en el layout de la actividad un marco vacío Si el marco existe, añadimos el fragmento al crear la actividad Si venimos de una instancia anterior no hace falta volver a construir <FrameLayout xmlns:android=" android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> public class MainActivity extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.news_articles); if (findviewbyid(r.id.fragment_container)!= null) { if (savedinstancestate!= null) { return; PrincipalFragment ppalfragment = new PrincipalFragment(); ppalfragment.setarguments(getintent().getextras()); getfragmentmanager().begintransaction().add(r.id.fragment_container, ppalfragment).commit(); Comprobamos si existe el contenedor Mostramos el fragmento con FragmentManager 9

10 Transiciones entre fragmentos En caso de haber añadido el fragmento de forma dinámica, podemos hacer transiciones a otro fragmento DetalleFragment detallefragment = new DetalleFragment(); // Pasamos parametros al nuevo fragmento Bundle args = new Bundle(); args.putint(param_posicion, posicionseleccionada); detallefragment.setarguments(args); FragmentTransaction transaction = getfragmentmanager().begintransaction(); transaction.replace(r.id.fragment_container, detallefragment); transaction.addtobackstack(null); transaction.commit(); 10

11 Comunicación entre fragmentos Siempre se hará a través de la actividad contenedora Definimos un callback en uno de los fragmentos public class PrincipalFragment extends ListFragment { OnItemSelectedListener mcallback; public interface OnItemSelectedListener { public void onitemselected(int public void onattach(activity activity) { super.onattach(activity); try { mcallback = (OnItemSelectedListener) activity; catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " debe implementar OnItemSelectedListener");... La actividad debe implementar esta interfaz Comprueba que la actividad implemente la interfaz 11

12 Gestión de la comunicación En la actividad implementamos la comunicación en el listener public static class MainActivity extends Activity implements PrincipalFragment.OnItemSelectedListener {... public void onitemselected(int position) { DetalleFragment detallefragment = (DetalleFragment) getfragmentmanager().findfragmentbyid(r.id.detalle_fragment); Comprobamos si el fragmento está en pantalla if (detallefragment!= null) { detallefragment.setdetalleitem(position); else { detallefragment = new DetalleFragment(); Bundle args = new Bundle(); args.putint(param_posicion, position); detallefragment.setarguments(args); Tipo estático Tipo dinámico FragmentTransaction transaction = getfragmentmanager().begintransaction(); transaction.replace(r.id.fragment_container, detallefragment); transaction.addtobackstack(null); transaction.commit(); 12

13 Creación de diálogos La forma recomendada de crear diálogos es con fragmentos Se crean mediante fragmentos de tipo DialogFragment Se puede especificar el título de la ventana del diálogo public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { View view = inflater.inflate(r.layout.dialog, container); getdialog().settitle("título"); return view; Tiene un método show para mostrarlos FragmentManager manager = getfragmentmanager(); MiDialogFragment dialog = new MiDialogFragment(); dialog.setarguments(bundle); dialog.show(manager, "fragment_dialog"); 13

14 Loaders Se trata de otra característica introducida en Android 3.0 Gestiona la carga de datos por parte de actividades/fragmentos Normalmente carga datos de proveedores de contenidos o servicios web Inicia el proceso de carga si no está ya en marcha Si detecta un cambio en los datos, los vuelve a recuperar Lo iniciamos normalmente en oncreate getloadermanager().initloader(0, null, this); También podemos solicitar reiniciar la carga getloadermanager().restartloader(0, null, this); Nuestra clase debe implementar LoaderManager.LoaderCallbacks para gestionar los datos proporcionados por el loader 14

15 Métodos a definir en el callback Al implementar el callback se debe especificar el tipo de datos a utilizar Utilizamos genéricos Los métodos que debemos definir son los siguientes public class MiListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Tipo> {... public Loader<Tipo> oncreateloader(int id, Bundle args) {... public void onloadfinished(loader<tipo> loader, Cursor data) {... public void onloaderreset(loader<tipo> loader) {... 15

16 Callback del loader Debemos indicar cómo construir el objeto Loader public Loader<Cursor> oncreateloader(int id, Bundle args) { return new CursorLoader(getActivity(), baseuri, proyeccion, seleccion, args, orden); También debemos definir qué hacer cuando obtengamos datos public void onloadfinished(loader<cursor> loader, Cursor data) { madapter.swapcursor(data); Y por último, la forma de reiniciar el contenido public void onloaderreset(loader<cursor> loader) { madapter.swapcursor(null); 16

17 Loader personalizado Podemos crear nuestro propio tipo de loader Normalmente lo hacemos con una subclase de AsyncTaskLoader Debemos implementar el proceso de carga de forma similar a una async task static class MiLoader extends AsyncTaskLoader<Tipo> { Tipo mdatos = null; public MiLoader(Context context) { super(context); Especificamos el tipo de los datos a public Tipo loadinbackground() { return cargardatos(); Descarga los datos en background... 17

18 Otros métodos de AsyncTaskLoader Comprobamos si tenemos los datos ya descargados o si hay que cargarlos Entregamos los datos, y los retenemos Cancelamos la descarga Borramos los datos descargados static class MiLoader extends AsyncTaskLoader<Tipo> { Tipo mdatos = protected void onstartloading() { super.onstartloading(); if(mdatos!= null) { deliverresult(mdatos); else { public void deliverresult(tipo data) { mdatos = data; protected void onstoploading() { super.onstoploading(); protected void onreset() { super.onreset(); onstoploading(); mdatos = null; 18

19 Uso del loader Podemos utilizar el loader definido desde nuestro callback public class MiFragmento implements LoaderManager.LoaderCallbacks {... public Loader<Tipo> oncreateloader(int id, Bundle args) { return new MiLoader(getActivity()); public void onloadfinished(loader<tipo> loader, Tipo data) { madapter.clear(); for(item item: data) { madapter.add(item); public void onloaderreset(loader<tipo> loader) { madapter.clear(); Introduce los datos cargados en el adaptador 19

20 Librería de compatibilidad Fragmentos y loaders son características importantes Es importante seguir dando soporte a dispositivos antiguos Existen librerías de compatibilidad Incorporan estas características a dispositivos a partir de

21 Uso de la librería de compatibilidad Copiamos la librería de compatibilidad al directorio libs $ANDROID_SDK/extras/android/support/v4/android- support- v4.jar Utilizamos los imports de la librería de compatibilidad import android.support.v4.app.fragment; import android.support.v4.app.fragmentmanager; import android.support.v4.app.fragmenttransaction; import android.support.v4.app.loadermanager; La actividad debe heredar de FragmentActivity public class MainActivity extends FragmentActivity {... Usamos métodos alternativos para obtener los managers FragmentManager manager = getsupportfragmentmanager(); LoaderManager manager = getsupportloadermanager(); 21

22 Librerías de servicios Podemos también añadir librerías para acceso a servicios Los servicios de Google se añaden mediante librería externa Aporta mayor flexibilidad para suministrar actualizaciones Debemos descargar la librería desde Google Play Soporta Android 2.2 y superiores Para desarrollar un proyecto con ella debemos Descargar la librería de servicios Google Play con SDK Manager Importar la librería (Existing Android Code into Workspace) $ANDROID_SDK/extras/google/google_play_services/ Añadir como dependencia de nuestro proyecto Properties > Android > Library > Add... 22

23 Configuración de los permisos Añadir permisos para los servicios <uses- permission android:name="android.permission.internet"/> <uses- permission android:name= "android.permission.write_external_storage"/> <uses- permission android:name= "com.google.android.providers.gsf.permission.read_gservices"/> <uses- permission android:name= "android.permission.access_coarse_location"/> <uses- permission android:name= "android.permission.access_fine_location"/> Sustituimos es.ua.jtech por el paquete de nuestra aplicación <permission android:name="es.ua.jtech.permission.maps_receive" android:protectionlevel="signature"/> <uses- permission android:name="es.ua.jtech.permission.maps_receive"/> 23

24 Clave de desarrollador y OpenGLES 2.0 Google Maps v2 necesita OpenGLES 2.0 Se debe indicar en el manifest <uses- feature android:glesversion="0x " android:required="true"/> También debemos indicar nuestra clave de desarrollador <meta- data android:name="com.google.android.maps.v2.api_key" android:value="pon_aqui_tu_clave"/> La obtendremos de la siguiente dirección 24

25 Integración del mapa Podemos añadirlo al layout como fragmento <?xml version="1.0" encoding="utf- 8"?> <fragment xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.mapfragment"/> También podemos utilizar la librería de compatibilidad <?xml version="1.0" encoding="utf- 8"?> <fragment xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.supportmapfragment"/> 25

26 Preguntas...? 26

Servicios de la plataforma Android

Servicios de la plataforma Android Índice 1 2 3 4 5 6 Librerías de compatibilidad y servicios...3 1.1 Compatibilidad de la aplicación...3 1.2 Fragmentos...4 1.3 Loaders...11 1.4 Librerías de compatibilidad... 14 1.5 Librerías de servicios...

Más detalles

Android TAG y el principio DRY

Android TAG y el principio DRY Android es una plataforma de desarrollo que empieza a tener el sobrenombre de INFINITA en cuanto a las cosas que se pueden hacer, conjunto de APIs soportadas etc. Sin embargo al ser tan grande muchas veces

Más detalles

Ejercicios de fragmentos y compatibilidad

Ejercicios de fragmentos y compatibilidad Ejercicios de fragmentos y compatibilidad Índice 1 Lector de noticias (1,5 puntos)... 2 2 Carga de noticias (1 punto)... 3 3 Servicios de Google (0,5 puntos)... 3 Antes de empezar a crear los proyectos,

Más detalles

Activities/Intents en Android LSUB, GSYC, URJC

Activities/Intents en Android LSUB, GSYC, URJC Activities/Intents en Android LSUB, GSYC, URJC Activity Una unidad de ejecución Para organizar una pantalla Ejecuta no mucho tiempo Y se comunica con otras Arranca otras Intent Una operación que queremos

Más detalles

INICIACIÓN A LA PROGRAMACIÓN PARA ANDROID

INICIACIÓN A LA PROGRAMACIÓN PARA ANDROID INICIACIÓN A LA PROGRAMACIÓN PARA ANDROID 3.1 UI Interfaz de usuario 3 Interfaz de usuario Representación gráfica de nuestra app. Botones, imágenes, campos de texto, Contenida en res/layout. 4 Interfaz

Más detalles

Manejadores en Android LSUB, GYSC, URJC

Manejadores en Android LSUB, GYSC, URJC Manejadores en Android LSUB, GYSC, URJC Botones Vamos a hacer una aplicación con un grupo de botones Layout LinearLayout Orientación vertical Con dos grupos de botones de radio de orientación horizontal

Más detalles

Crear listas personalizadas en Android

Crear listas personalizadas en Android Crear listas personalizadas en Android Introducción Bienvenidos a la sección de programación Android, hoy voy a explicar cómo crear listas personalizadas en Android. Las listas en Android son elementos

Más detalles

TUTORIAL: GEOLOCALIZACIÓN

TUTORIAL: GEOLOCALIZACIÓN TUTORIAL: GEOLOCALIZACIÓN Introducción En este tutorial se va a explicar cómo hacer una aplicación sencilla que mostrará la latitud y la longitud dependiendo del lugar en el que se encuentre el dispositivo.

Más detalles

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

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Plataforma Android. Sesión 1: introducción a Android Plataforma Android Sesión 1: introducción a Android 2011 2012 Depto. Ciencia de la Computación e IA Puntos a tratar Aplicaciones Android El archivo Manifest Ciclo de ejecución de aplicaciones Recursos

Más detalles

Sensores de los dispositivos

Sensores de los dispositivos Sensores de los dispositivos Sesión 2: Geolocalización y mapas 2012-2013 Depto. Ciencia de la Computación e IA Puntos a tratar Geolocalización Actualización de la posición Alertas de proximidad Geocoder

Más detalles

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE SQLite M.Sc. Reynaldo Zeballos ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE En este ejercicio vamos a crear una tabla TELEFONOS para la base de datos GUIATEL. Para lo cual utilizaremos SQLite que viene

Más detalles

Taller Desarrollo. Tecnólogo Informática - 6to Semestre Montevideo

Taller Desarrollo. Tecnólogo Informática - 6to Semestre Montevideo Taller Desarrollo Mobile Tecnólogo Informática - 6to Semestre Montevideo UI INTENT Desarrollo Mobile Agenda UI Layout Fragments Widget Tool Box Adapters Intent - Broadcast Receiver Internet Resources Repaso

Más detalles

Android avanzado. Sesión 5: Notificaciones. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles

Android avanzado. Sesión 5: Notificaciones. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles Android avanzado Sesión 5: Notificaciones 2012-2013 Depto. Ciencia de la Computación e IA Puntos a tratar Notificaciones Toast Personalización Notificaciones de la Barra de Estado Configuración y uso Cuadros

Más detalles

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

Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android Servicios Basados en Localización (LBS) Tema 6 Desarrollo de aplicaciones en Android Ramón Alcarria Miguel Ángel Manso 1 API de Localización Existen dos APIs de localización en Android Google Location

Más detalles

Android y Java para Dispositivos Móviles

Android y Java para Dispositivos Móviles Android y Java para Dispositivos Móviles Sesión 11: Gráficos avanzados Android y Java para Dispositivos Móviles 2010 Depto. Ciencia de la Computación e IA Gráficos avanzados 1 Puntos a tratar Gráficos

Más detalles

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web I. Alcances del Proyecto a. Ide Eclipse Indigo 3.7 b. Api 10-17, Versión Android 2.3.3 A 4.2.2 c. Jdk 1.6 II. Conceptos Relacionados

Más detalles

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

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java Android Con Java Ejercicio 18 Configuración de Widgets en Android Objetivo del Ejercicio El objetivo del ejercicio crear un Widget que antes de utilizarlo nos permita configurarlo. En este caso, solicitar

Más detalles

Android Manejo de Eventos. Rogelio Ferreira Escutia

Android Manejo de Eventos. Rogelio Ferreira Escutia Android Manejo de Eventos Rogelio Ferreira Escutia Tipos de Eventos 2 Escuchando los eventos Un escuchador de Eventos (Event Listener) es una interfaz de la clase View que contiene un método callback que

Más detalles

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

En nuestra actividad principal, creamos el objeto vista previa. Este objeto se creará el objeto cámara y volver a la actividad CameraDemo. Uso de la Cámara API Android SDK es compatible con la conectividad a la cámara integrada. Usar la cámara para tomar fotos es relativamente fácil. Es algo más difícil de configurar la previa de la cámara

Más detalles

Android. Y amigos. Pablo Orgaz, 2014, UPM

Android. Y amigos. Pablo Orgaz, 2014, UPM Android Y amigos Pablo Orgaz, 2014, UPM Contenidos Activity & Fragment Sistemas de Construcción Conectividad Java puro y Java Android Eh, esto funciona - The App Activities Activity & Fragment Cuándo usar

Más detalles

Patricio Olivares. 25 de abril de 2017

Patricio Olivares. 25 de abril de 2017 : : Entorno 25 de abril de 2017 Table of contents : : Entorno 1 2 3 : 4 : Entorno 5 6 La telefonía móvil ha cambiado radicalmente la forma en que nos comunicamos. Con el creciente uso de los smartphones,

Más detalles

Android y Recursos. Android R.java (fichero)

Android y Recursos. Android R.java (fichero) Cuando uno empieza a desarrollar en Android una de las mayores dudas con las que se encuentra es como funciona el fichero R.java que es generado automaticamente por el compilador. Android y Recursos Para

Más detalles

Servicios Web Android

Servicios Web Android Índice 1 Introducción...2 2 Ejercicios... 2 2.1 Listado de libros a partir de servicios web (0,5 puntos)... 2 2.2 Obteniendo las portadas de los libros (0,5 puntos)...3 2.3 Añadir un libro (0,5 puntos)...5

Más detalles

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

Curso de iniciación a Java para Android (60 horas) Máster en Android (AM) (200 horas) Curso de iniciación a Java para Android (60 horas) Objetivo El objetivo del curso es presentar al alumno el lenguaje de programación Java, partiendo de cero, ofreciéndole

Más detalles

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

Programación Android. Alejandro Alcalde. elbauldelprogramador.com Programación Android Alejandro Alcalde elbauldelprogramador.com Copyright c 2013 Alejandro Alcalde P L A TEX. Programación Android por Alejandro Alcalde se encuentra bajo una Licencia Creative Commons

Más detalles

Layouts en Android LSUB, GSYC, URJC

Layouts en Android LSUB, GSYC, URJC Layouts en Android LSUB, GSYC, URJC Layouts Son Views Para organizar la pantalla Organizados en una jerarquía Layouts View ViewGroup LinearLayout... GridLayout TableLayout TableRow Layouts Normalmente

Más detalles

Crear un Splash-Screen

Crear un Splash-Screen Crear un Splash-Screen El splashscreen es una pantalla que carga justo cuando se abre la aplicación y que generalmente tiene algún aviso que indica al usuario que algo está sucediendo mientras se carga

Más detalles

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java Android Con Java Ejercicio 4 Manejo de Layouts en Android Objetivo del Ejercicio El objetivo del ejercicio es entender el manejo de Layout y los Adaptadores en Android. Al finalizar deberemos observar

Más detalles

Que es un Android Intent?

Que es un Android Intent? Cuando uno empieza a programar para Android se suele topar mas pronto que tarde con el concepto de Intent y de repende comienzan a surgir muchas dudas. Si miramos en el diccionario la traducción es Intento

Más detalles

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

Curso Android. ADT Bundle. Android Developer Tools. Entorno de trabajo Toolbar principal SDK Manager. Emulador de Android. Crear proyecto Android Curso Android ADT Bundle o Instalación o SDK Manager o Eclipse Android Developer Tools o Workspace o Seleccionando un Workspace Entorno de trabajo Toolbar principal SDK Manager o Android SDK Manager o

Más detalles

Gráficos y multimedia

Gráficos y multimedia Gráficos y multimedia Sesión 1: reproducción de medios en Android 2011 2012 Depto. Ciencia de la Computación e IA Puntos a tratar La clase MediaPlayer Reproducción de Audio Reproducción de Vídeo VideoView

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

MASTER DESARROLLO DE APLICACIONES ANDROID

MASTER DESARROLLO DE APLICACIONES ANDROID MASTER DESARROLLO DE APLICACIONES ANDROID TEMARIO MODULO I La plataforma Android Origen Google Play Creación de una cuenta de desarrollador Publicación de una aplicación Seguimiento y actualización de

Más detalles

Unidad 3. PrimerProyecto. Nuestra primera aplicacio n Android

Unidad 3. PrimerProyecto. Nuestra primera aplicacio n Android Unidad 3. PrimerProyecto. Nuestra primera aplicacio n Android Jose A. Montenegro Dpto. Lenguajes y Ciencias de la Computacio n ETSI Informa tica. Universidad de Ma laga monte@lcc.uma.es 14 de abril de

Más detalles

Tecnología de Programación

Tecnología de Programación Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Dispositivos móviles Dispositivos móviles 2005 2002 Dispositivos móviles

Más detalles

Desarrollo de un reproductor mp3

Desarrollo de un reproductor mp3 Curso 13/14 Desarrollo de Desarrollo de un reproductor mp3 Contenidos Ciclo de vida Fragmentos Menús Desarrollo de la aplicación Mp3Player paso a paso Eventos de la UI Cuadros de diálogo MediaPlayer Intents

Más detalles

Gráficos y multimedia

Gráficos y multimedia Gráficos y multimedia Sesión 4: grabación de vídeo/audio y gráficos avanzados en Android 2011 2012 Depto. Ciencia de la Computación e IA Puntos a tratar Grabación de medios Intents MediaRecorder Síntesis

Más detalles

Desarrollo de Aplicaciones Criptográficas en Android

Desarrollo de Aplicaciones Criptográficas en Android Desarrollo de Aplicaciones Criptográficas en Android José A. Montenegro Dpto. Lenguajes y Ciencias de la Computación ETSI Informática. Universidad de Málaga monte@lcc.uma.es 24 de octubre de 2011 José

Más detalles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android Desarrollo de Aplicaciones para Android Sesión 3: Gráficos avanzados Desarrollo de Aplicaciones para Android Depto. Ciencia de la Computación e IA Gráficos avanzados 1 Puntos a tratar Personalización de

Más detalles

Intefaz de usuario - Ejercicios

Intefaz de usuario - Ejercicios Índice 1 Formulario... 2 2 Recoger datos del formulario mediante SharedPreferences...2 3 Validación del DNI... 3 4 Visor de Google Maps...4 5 Barra de progreso en el título... 6 6 Menú de preferencias...

Más detalles

Tema 2: Diseño de servicios para móviles

Tema 2: Diseño de servicios para móviles Tema 2: Diseño de servicios para móviles Listas y menús 2013-2014 Depto. Ciencia de la Computación e IA Puntos a tratar Spinners Listas Adaptadores Menús de opciones Menús contextuales 2 Spinner Cuadro

Más detalles

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

Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas Activity [Form] Pantalla que se

Más detalles

Android y Java para Dispositivos Móviles

Android y Java para Dispositivos Móviles Android y Java para Dispositivos Móviles Sesión 10: Interfaz de usuario Android y Java para Dispositivos Móviles 2010 Depto. Ciencia de la Computación e IA Interfaz de usuario-1 Puntos a tratar Views Layouts

Más detalles

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseño de tipos Igualdad, representación, código, copia y relación de orden Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones

Más detalles

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08 Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos

Más detalles

Ejercicio 1 (proyecto prlistas, paquete listas)

Ejercicio 1 (proyecto prlistas, paquete listas) PRÁCTICA 3 Curso 2004-05 En esta práctica construiremos y usaremos dos paquetes: el primero, listas, que implementa listas genéricas y el segundo, colas, que implementa colas y colas de prioridades genéricas.

Más detalles

Cursos de orientación profesional

Cursos de orientación profesional Cursos de orientación profesional ACCIONES COFINANCIADAS CON FONDOS COMUNITARIOS DEL FONDO SOCIAL EUROPEO, A TRAVÉS DEL PROGRAMA OPERATIVO FONDO SOCIAL EUROPEO DE CANARIAS 20072013 CON UN PORCENTAJE DE

Más detalles

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Ingeniería del Software Separación entre Presentación y Lógica del Negocio Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

Colas Implementación con gestión estática de memoria

Colas Implementación con gestión estática de memoria Colas Implementación con gestión estática de memoria Esquema general 0 1 2 3 n - 1... _primero = 0 _ultimo = 0 Esquema general * Añadir un elemento a la cola. 0 1 2 3 n - 1 'a'... 1) _vector[_ultimo] =

Más detalles

Programación en Android LSUB, GSYC, URJC

Programación en Android LSUB, GSYC, URJC Programación en Android LSUB, GSYC, URJC Introducción Teléfono o Emulador Android Studio Introducción Activity Mgr App! Dialer Dalvik JVM SQLite WebKit... OpenGL Linux kernel Dispositivo móvil Aplicaciones

Más detalles

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos

Descripción. Objetivos de Aprendizaje. Estructura y Contenidos Descripción Las certificaciones de Android tienen como objetivo enseñarte las herramientas necesarias para que aprendas a diseñar e implementar aplicaciones Android para dispositivos móviles, partiendo

Más detalles

Agenda y calendario. Índice

Agenda y calendario. Índice Índice 1 Agenda de contactos...2 1.1 Carga de contactos... 3 1.2 Acceso a datos de los contactos...4 1.3 Inserción de contactos...5 2 Calendario... 6 2.1 Selección del calendario... 7 2.2 Añadir eventos

Más detalles

TP Nº4 Android - SQLite Fecha Miércoles 2013/08/14 Profesor: Pablo Ulman (Polshu).

TP Nº4 Android - SQLite Fecha Miércoles 2013/08/14 Profesor: Pablo Ulman (Polshu). BASES DE DATOS EN ANDROID Bases de datos SQLite SQLite es una base de datos Open Source que se encuentra embebida en Android Las Bases de datos que se crean son accesibles por nombre desde cualquier clase

Más detalles

INTRODUCCIÓN. paco@portadaalta.es

INTRODUCCIÓN. paco@portadaalta.es INTRODUCCIÓN paco@portadaalta.es Índice Entorno de desarrollo Estructura de un proyecto Android Componentes de una aplicación Android Ejemplos: Mi primera aplicación Divisas 2 actividades Contador de cafés

Más detalles

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

BEGINNERS CURSO TALLER: años. INICIO: 15 DE SETIEMBRE Viernes de 19:00 a 22:00h y sábados 09:00 a 12:00h años INICIO: 15 DE SETIEMBRE Viernes de 19:00 a 22:00h y sábados 09:00 a 12:00h ANDROID FOR 1. Acerca del Curso En este curso construiremos nuestra primera aplicación para Android, aprendiendo sobre Layouts,

Más detalles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android Desarrollo de Aplicaciones para Android Sesión 8: Servicios avanzados Desarrollo de Aplicaciones para Android Depto. Ciencia de la Computación e IA Servicios avanzados-1 Puntos a tratar Servicios en segundo

Más detalles

Ejercicio 3. Manejo de la Vista y Eventos en Android Ejercicio 3 Curso de Android con Java Derechos Res Dere e c rvados hos Res Gl e obal rva

Ejercicio 3. Manejo de la Vista y Eventos en Android Ejercicio 3 Curso de Android con Java Derechos Res Dere e c rvados hos Res Gl e obal rva Android Con Java Ejercicio 3 Manejo de la Vista y Eventos en Android Objetivo del Ejercicio El objetivo del ejercicio es entender cómo controlar la Vista desde código Java, así como responder a eventos

Más detalles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android Desarrollo de Aplicaciones para Android Sesión 2: Interfaz de usuario Desarrollo de Aplicaciones para Android Depto. Ciencia de la Computación e IA Interfaz de usuario-1 Puntos a tratar Views Layouts Eventos

Más detalles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android Desarrollo de Aplicaciones para Android Sesión 2: Interfaz de usuario Desarrollo de Aplicaciones para Android Depto. Ciencia de la Computación e IA Interfaz de usuario-1 Puntos a tratar Views Layouts Eventos

Más detalles

18. Interfaces Declaración de una interfaz

18. Interfaces Declaración de una interfaz Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir

Más detalles

Android y Java para Dispositivos Móviles

Android y Java para Dispositivos Móviles Android y Java para Dispositivos Móviles Sesión 3: Interfaz gráfica Android y Java para Dispositivos Móviles 2010 Depto. Ciencia de la Computación e IA Interfaz gráfica 1 Puntos a tratar Interfaz gráfica

Más detalles

Grabación de audio/vídeo y gráficos avanzados en Android - Ejercicios

Grabación de audio/vídeo y gráficos avanzados en Android - Ejercicios Grabación de audio/vídeo y gráficos avanzados en Android - Ejercicios Índice 1 Síntesis de voz con Text to Speech... 2 2 Gráficos 3D... 3 3 Grabación de vídeo con MediaRecorder (*)... 3 1. Síntesis de

Más detalles

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

Hola Android. Introducción al desarrollo de aplicaciones para Android Hola Android. Introducción al desarrollo de aplicaciones para Android Las aplicaciones para el sistema operativo móvil Android son desarrolladas en el lenguaje de programación Java en conjunto con el SDK

Más detalles

DESARROLLO DE APLICACIONES EN ANDROID

DESARROLLO DE APLICACIONES EN ANDROID DESARROLLO DE APLICACIONES EN ANDROID Abraham Gutiérrez Rodríguez Abraham Gutiérrez Rodríguez UPM 2014 1 Estructura: src: Contiene los archivos con el código auxiliar de la aplicación. bin: Directorio

Más detalles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android 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

Más detalles

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

Más detalles

Introducción al manejo de Bases de Datos con SQLite. Version Android

Introducción al manejo de Bases de Datos con SQLite. Version Android Universidad de El Salvador Facultad de Ingeniería y Arquitectura Escuela de Ingeniería en Sistemas Programación en Dispositivos Móviles Objetivo: Guía de Laboratorio N 06 A Introducción al manejo de Bases

Más detalles

Interfaces de usuario [Desarrollo de aplicaciones para Android]

Interfaces de usuario [Desarrollo de aplicaciones para Android] Interfaces de usuario [Desarrollo de aplicaciones para Android] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-P Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario

Más detalles

Practica. Material Design. lunes 10 de octubre de 16

Practica. Material Design. lunes 10 de octubre de 16 Practica Material Design Una aplicación basada en material design A partir de la versión 5.0 de Android (API 21), se introduce Material Design. Se trata de una guía para el diseño visual de las aplicaciones,

Más detalles

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.

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. Cómo crear una app simple en ANDROID 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. Aprenderás cómo crear

Más detalles

Java interface y extensibilidad

Java interface y extensibilidad En Java el uso de interfaces es algo común en la programación del día a día. Sin embargo también es bastante común tener muchas dudas de para que sirve un interface. Normalmente nos podemos encontrar con

Más detalles

Curso 14/15. Desarrollo de aplicaciones Android. Mapas en Android

Curso 14/15. Desarrollo de aplicaciones Android. Mapas en Android Curso 14/15 Mapas en Al final de la sesión sabremos... Utilizar un servicio externo: Google Maps Utilizar la consola de Google Unifica los desarrollos con los diversos web services de la empresa google

Más detalles

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011 Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas

Más detalles

DESARROLLO DE APLICACIONES EN ANDROID

DESARROLLO DE APLICACIONES EN ANDROID DESARROLLO DE APLICACIONES EN ANDROID Abraham Gutiérrez Rodríguez Abraham Gutiérrez Rodríguez UPM 2014 1 La clase Activity Las actividades son componentes esenciales de una aplicación, concretamente se

Más detalles

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE Contenidos Resumen...1 Práctica guiada 7: ListaCompra...1 Implementación de la base de datos...2 Actividad principal: ListaCompraActivity...6 Actividad secundaria:

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar

Más detalles

Tutorial 1: Desarrollo de un plugin

Tutorial 1: Desarrollo de un plugin Tutorial 1: Desarrollo de un plugin En este tutorial introductorio se creará un plugin siguiendo una de las plantillas que ofrece Eclipse. Concretamente se extenderá una vista para mostrar cierta información

Más detalles

Programación Orientada a Objetos Curso 2014/2015. Práctica 11

Programación Orientada a Objetos Curso 2014/2015. Práctica 11 Objetivos formativos Previo Programación Orientada a Objetos Curso 2014/2015 Práctica 11 - Nuevas características de Java 8: expresiones lambda, interfaces funcionales, streams. - Crea el paquete practica11

Más detalles

Persistencia Android. Índice

Persistencia Android. Índice Índice 1 Introducción...2 2 Ejercicios... 2 2.1 Crear el adaptador de la base de datos...2 2.2 Inserción...3 2.3 Método deleteall... 3 2.4 Probando la inserción...3 2.5 Consultas...4 2.6 Adaptador de ListActivity

Más detalles

Federico Peinado

Federico Peinado Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

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 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

Más detalles

ANEXO Tema 5: Ejercicios Java 8

ANEXO Tema 5: Ejercicios Java 8 Previo ANEXO Tema 5: Ejercicios Java 8 Descárgate de la sección de prácticas de la página web de la asignatura (dis.um.es/docencia/poo) el proyecto PruebasJava8 e impórtalo en Eclipse. Este proyecto contiene

Más detalles

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

Sesión 4. Interfaz de Usuario en Android. Ing. Edwin Andrés Cubillos Vega Msc. Company LOGO Sesión 4. Interfaz de Usuario en Android Ing. Edwin Andrés Cubillos Vega Msc. Company LOGO Contenido Clase View Creación de una vista Layout TextView Button Contenido Clase View Creación de una vista Layout

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica

Más detalles

Android 7 Principios del desarrollo de aplicaciones Java

Android 7 Principios del desarrollo de aplicaciones Java La plataforma Android 1. Presentación 13 2. Origen 14 3. Google Play 15 3.1 Creación de una cuenta de desarrollador 16 3.2 Publicación de una aplicación 17 3.3 Seguimiento y actualización de una aplicación

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!

Más detalles

Tema 1. Herencia y Polimorfismo

Tema 1. Herencia y Polimorfismo ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del

Más detalles

Java Interfaces y el concepto de simplicidad

Java Interfaces y el concepto de simplicidad El concepto de Java Interfaces es de sobra conocido por todos. Qué son los Java interfaces?. Esta es una muy buena pregunta.la mayor parte de las veces cuando uno mira la definición de interface suele

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles