Servicios LSUB, GYSC, URJC
|
|
|
- Laura Estefania Miranda Molina
- hace 10 años
- Vistas:
Transcripción
1 Servicios LSUB, GYSC, URJC
2 Servicios Sirve para hace trabajo en background (i.e. sin UI). Más prioridad que activity (no suelen matarlo) Pueden ser privados a la aplicación (manifest) Continua ejecutando si el usuario cambia a otra aplicación. No es un proceso aparte. No crea un nuevo thread, ejecuta en el main thread: Si se bloquea o es lento, afecta al main thread. En estos casos, hay que crear un nuevo thread.
3 Servicios: ejemplo Me estoy bajando algo que lleva tiempo, (ojo al wifilock/batería) de vez en cuando me bajo un poco. Player de audio, quiero que suene en background Notificador de Whatsapp/actualizaciones del periódico/lluvia
4 Servicios Debo usar un servicio o un thread? Si se necesita realizar un trabajo en background mientras se está usando la aplicación, mejor usar un thread (o un AsyncTask).
5 Servicios Un servicio puede ser: Started: el servicio se inicia y ejecuta en background indefinidamente, incluso si el componente que lo creó se destruye. Bound: el servicio ofrece una serie de operaciones al cliente con el que se ata. El servicio vive mientras viva el cliente. Un servicio puede actuar de las dos formas a la vez.
6 Servicios
7 Servicios Hay que declarar el nombre de la clase del servicio en el manifest: <manifest xmlns:android=" <application android:allowbackup="true" > <service android:name=.playerservice" android:exported= false"/> <activity... </activity> </application> </manifest>
8 Servicios Un servicio puede extender las clases: Service IntentService
9 IntentService No puede ser Bound. Crea un único thread (worker) que atenderá las Intents una a una (se puede bloquear, hacer trabajo intensivo, etc.) No hay que preocuparse por la concurrencia. Para el servicio automáticamente cuando ya no hay Intents por procesar. Sólo debemos implementar el método onhandleintent()
10 IntentService public class MyIntentService extends IntentService { /** * A constructor is required, and must call the super IntentService(String) * constructor with a name for the worker thread. */ public MyIntentService() { super("hellointentservice"); /** * The IntentService calls this method from the default worker thread with * the intent that started the service. When this method returns, IntentService * stops the service, as appropriate. protected void onhandleintent(intent intent) { // Normally we would do some work here, like download a file. // For our sample, we just sleep for 5 seconds. long endtime = System.currentTimeMillis() + 5*1000; while (System.currentTimeMillis() < endtime) { synchronized (this) { try { wait(endtime - System.currentTimeMillis()); catch (Exception e) {
11 Service Los servicios que heredan de Service son más complicados: Para iniciar el servicio: Otro componente puede invocar el método startservice(). Se necesita pasar un Intent. En el servicio, se invoca el método onstartcommand() por cada llamada a startservice(). Para parar el servicio: El servicio puede invocar su método stopself(). Otro componente puede invocar el método stopservice(). Se usa una Intent para indicar el servicio. En ambos casos, el sistema destruye la instancia del servicio lo antes posible.
12 Service public int onstartcommand(intent intent, int flags, int startid) Ejecuta en el main thread. flags: puede especificar que el Intent es un reenvío de uno previo, un reintento, etc. startid: cada invocación a startservice() tiene su propio id para identificarse.
13 Service public int onstartcommand(intent intent, int flags, int startid) Debe retornar una de las siguientes constantes: Service.START_NOT_STICKY: si se mata y no hay ninguna Intent pendiente, no se recreará (el servicio se creará cuando haya una nueva Intent). Service.START_STICKY: si el sistema mata el servicio, más tarde intentará recrear creando una nueva instancia. Se descarta la Intent que estaba en curso. Si no hay Intents pendientes en ese momento, la Intent es null. Service.START_REDELIVER_INTENT: si se mata, se recrea sólo si tenía Intents pendientes y las retoma. La Intent está pendiente hasta que se invoque stopself() con su id.
14 Service Hay redefinir también los siguientes métodos: oncreate(): invocado al crear el servicio. No es obligatorio invocar a super(). ondestroy(): invocado al parar el servicio. No es obligatorio invocar a super(). onbind(): el servicio empieza a operar en modo Bound. Se invoca cuando un cliente se ata.
15 Service public class ServiceExample1 extends Service public void oncreate() { super.oncreate(); Log.v(this.getClass().getName(), public void ondestroy() { super.ondestroy(); Log.v(this.getClass().getName(), public int onstartcommand(intent intent, int flags, int startid) { final int id = startid; Log.v(this.getClass().getName(), "onstartcommand id : " + startid); (new Thread(new Runnable(){ public void run(){ for(int i = 0 ;i < 10 ; i++){ Log.v(this.getClass().getName(), "Worker: doing my stuff id : " + id + " i: " + i); try { Thread.sleep(1000); catch (InterruptedException e) { ServiceExample1.this.stopSelf(id); )).start(); return Service.START_REDELIVER_INTENT;
16 Notificaciones Para notificar al usuario, un servicio puede usar: Toasts. Notificaciones de la barra de status.
17 Notificaciones private void shownotification(string text){ NotificationManager nmng = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification.Builder(this).setContentTitle("Service Example 1").setContentText(text).setSmallIcon(R.drawable.notification).build(); // NOTIFICATION_ID is a constant nmng.notify(notification_id, notification);
18 Foreground Un servicio en foreground es un servicio que se muestra al usuario (P. ej. un reproductor de música). Tiene más prioridad: el sistema evita matarlos. Debe mostrar notificaciones en la barra de estatus. Se controla con startforeground() y stopforeground()
19 Foreground... Notification notification = new Notification.Builder(this).setContentTitle("Player Service").setContentText("Playing mp3 file with id: " + resource).setsmallicon(r.drawable.notification).build(); startforeground(notification_id, notification);... /* * Remove this service from foreground, allowing it to be * killed if more memory is needed. The boolean is used to remove * the notification. */ stopforeground(true);
20 Bound Service El cliente invoca bindservice() para iniciar una sesión de larga duración con el servicio. En el servicio se invoca onbind() cuando se ata un cliente. onbind() retorna un objeto IBinder que define la interfaz con el servicio. No hace falta parar el servicio (el objeto se destruye cuando no hay clientes atados). Múltiples clientes pueden estar atados al mismo servicio. Son más complicados que los Started Services.
21 Bound Service Para definir la interfaz IBinder podemos: Extender la clase Binder. Sólo para servicios internos de nuestra aplicación. Usar una clase Messenger. Forma sencilla de proveer la interfaz a otras aplicaciones (veremos esta) Definir la interfaz directamente en AIDL (Android Interface Definition Language). Para hablar con otros procesos con multithreading, ver Broadcast (usando el LocalBroadcastManager).
22 Bound Service El servicio debe: Crear un objeto Messenger para generar el IBinder que permite que los clientes manden mensajes. Procesar los mensajes que envían los clientes (los clientes no invocan sus métodos) en un Handler.
23 Bound Service <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.example.androidboundedservice" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="8" android:targetsdkversion="16" /> <application... <service android:name="com.example.androidboundedservice.myboundservice"> <intent-filter> <action android:name="com.example.androidboundedservice.boundhelloservice" > </action> </intent-filter> </service> </application> </manifest>
24 Bound Service public class MyBoundService extends Service { private Messenger messenger; public static final int MSG_SAY_HELLO = public IBinder onbind(intent intent) { return public void oncreate() { Log.v(this.getClass().getName(), "oncreate"); messenger = new Messenger(new IncomingHandler(this)); public void ondestroy() { Log.v(this.getClass().getName(), "ondestroy"); super.ondestroy(); //continue...
25 Bound Service /* * The handler cannot be a non-static inner class, Android does not permit that. * The handler may be queued and retain the external object (MyBoundService). */ static class IncomingHandler extends Handler { /* * We use a weak reference to avoid leaks. A strong reference * will retain the referenced object (MyBoundService). */ private WeakReference<Context> context; public IncomingHandler(Context c){ context = new public void handlemessage(message msg) { if(context = null){ switch (msg.what) { case MSG_SAY_HELLO: Toast.makeText(context.get(), "hello", Toast.LENGTH_SHORT).show(); break; default: super.handlemessage(msg);
26 Bound Service Cliente: Debe usar un objeto que implemente la interfaz ServiceConnection con callbacks para manejar conexiones/desconexiones. Debe usar bindservice() para atarse al servicio. Debe usar unbindservice() para desatarse.
27 Bound Service public class MainActivity extends Activity { private Button button; private Messenger service; private MyBoundServiceConnection connection; private class MyBoundServiceConnection implements public void onserviceconnected(componentname name, IBinder ibinder) { Log.v(this.getClass().getName(), "onserviceconnected"); service = new public void onservicedisconnected(componentname arg0) { Log.v(this.getClass().getName(), "onservicedisconnected"); service = null; // continue...
28 Bound protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); button = (Button) findviewbyid(r.id.button1); button.setonclicklistener(new ButtonOneListener()); connection = new protected void onstart() { super.onstart(); Intent i = new Intent("com.example.androidboundedservice.BOUNDHELLOSERVICE"); if(i = null){ if(bindservice(i, connection, Context.BIND_AUTO_CREATE)){ Log.v(this.getClass().getName(), protected void onstop() { super.onstop(); try{ if(service = null){ unbindservice(connection); catch (Exception e){...
29 Bound Service private class ButtonOneListener implements public void onclick(view arg0) { if(service = null){ /* * Create a message with the value. */ Message m = Message.obtain(null, MyBoundService.MSG_SAY_HELLO, 0, 0); try{ service.send(m); catch(exception e){... Log.v(this.getClass().getName(), "ButtonOneListener: message sent"); else{ Log.v(this.getClass().getName(), "ButtonOneListener: the service not connected");... // end of MainActivity
30 Bound Service Si únicamente se necesita el servicio cuando la Activity es visible, entonces el cliente debe: conectarse en onstart() desconectarse en onstop().
31 Started + Bound Service
32 Arrancar de Alarm (garantizar el servicio) Calendar cal = Calendar.getInstance(); Intent intent = new Intent(this, MyService.class); PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0); AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); // Start every 30 seconds alarm.setrepeating(alarmmanager.rtc_wakeup, cal.gettimeinmillis(), 30*1000, pintent);
33 Buen tutorial
34 Broadcast Receiver Reciben avisos del sistema Heredan de BroadcastReceiver Ej: llamadas entrantes, batería baja, etc.
35 Broadcast Receiver Reciben avisos del sistema típicamente (cualquier intent mandado con sendbroadcast) Heredan de BroadcastReceiver Ej: llamadas entrantes, batería baja, etc. Versión local a las aplicaciones, LocalBroadcastManager
36 Broadcast Receiver Callback onreceive() viene con un intent con Bundle
Servicios. Índice. Copyright 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.
Índice 1 Servicios propios... 2 1.1 Iniciar un servicio... 5 1.2 Servicios y AsyncTask...7 2 Broadcast receiver... 9 2.1 Declaración y registro en el Manifest... 9 2.2 Registro dinámico... 10 3 PendingIntents
Capitulo 4: Componentes Android
Capitulo 4: Componentes Android Elaborado por: Gary Briceño http://gary.pe http://gary.pe 1 http://gary.pe 2 1. COMPONENTES DE LA APLICACIÓN http://gary.pe 3 Componentes Android permite a los desarrolladores
Servicios Avanzados. Índice. 1 Servicios en segundo plano... 2 2 Notificaciones...3 3 AppWidgets...5 4 Publicación de software...8
Índice 1 Servicios en segundo plano... 2 2 Notificaciones...3 3 AppWidgets...5 4 Publicación de software...8 1. Servicios en segundo plano Los servicios en segundo plano, Services son similares a los demonios
Concurrencia en Android LSUB, GYSC, URJC
Concurrencia en Android LSUB, GYSC, URJC Repaso de concurrencia en Java Crear un thread Instanciar un Thread, con el método run sobreescrito Intanciar un objeto que cumpla el interfaz Runnable y pasárselo
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
Ejercicios - Servicios
Índice 1 Contador: Servicio con proceso en background (0.6 puntos)... 2 2 Broadcast Receiver: Captura de llamadas (0.6 puntos)...2 3 Broadcast Receiver: Reenvío de datos (0.6 puntos)...3 4 Arranque: Iniciar
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
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
Componentes básicos de Android
Componentes básicos de Android Curso Aplicación de Android en el desarrollo de sistemas de Inteligencia Ambiental y Robótica Cloud Incubator Hub Nieves Pavón Pulido 23 de enero de 2013 Componentes básicos
3.9 Patrón Distributed callback
3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima
Servicios - Ejercicios
Índice 1 Servicio con proceso en background. Contador...2 2 Dialer. Iniciar una actividad con un evento broadcast (*)...2 3 Arranque. Iniciar servicio con evento broadcast... 3 4 Localizador de móvil desaparecido...4
Introducción a Java LSUB. 15 de enero de 2015 GSYC
Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
MODELO DE IMPLEMENTACIÓN
Capítulo 4 MODELO DE IMPLEMENTACIÓN 4.1 Introducción El Modelo de implementación utiliza el resultado del Modelo de diseño para generar el código final en el lenguaje de programación elegido [10]. Aunque
Almacenamiento en Android
Almacenamiento en Android LSUB, GYSC, URJC Todo lo que hay que saber http://developer.android.com/guide/topics/ data/data-storage.html Dentro de una Aplicación Ya hemos visto, que se puede pasar con el
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
Multitarea en Java. Rafa Caballero - UCM
Multitarea en Java Rafa Caballero - UCM Programa Monoproceso (monotarea) En cada momento hay una única instrucción ejecutándose Se dice que el programa es monotarea, o monoproceso o monohebra (o single
Ejercicio 16. Mejora de Notificaciones en Android. Android Con Java. Ejercicio 16. Mejora de Notificaciones en Android. Curso de Android con Java
Android Con Java Ejercicio 16 Mejora de Notificaciones en Android Objetivo del Ejercicio El objetivo del ejercicio es entender y utilizar algunas de las nuevas clases para mejorar el manejo de Notificaciones
PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:
PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Hemos visto en el concepto anterior que un programa puede tener más de una ventana representando cada ventana con una clase que
Android Con Java. Ejercicio 2. Ciclo de Vida de las Actividades en Android. Ejercicio 2. Ciclo de Vida de las Actividades en Android
Android Con Java Ejercicio 2 Ciclo de Vida de las Actividades en Android Objetivo del Ejercicio El objetivo del ejercicio es entender y verificar cada una de las etapas del Ciclo de Vida de las Actividades
Threads. La plataforma JAVA soporta programas multhreading a través del lenguaje, de librerías y del sistema de ejecución. Dos.
Threads Un thread es un flujo de control secuencial dentro de un programa. A los threads también se los conoce como procesos livianos ó contextos de ejecución. Un thread es similar a un programa secuencial:
Desarrollo de Aplicaciones para Android
Desarrollo de Aplicaciones para Android Sesión 7: Servicios de red Desarrollo de Aplicaciones para Android Depto. Ciencia de la Computación e IA Servicios de red-1 Puntos a tratar Conexiones HTTP Parsing
PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases
PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener
1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Programación Concurrente en Java
Hebras y monitores Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid 21 de marzo de 2006 Threads Extendiendo la clase java.lang.thread. public class PrThread extends
TEMA 5: Control de la Concurrencia en Java (API Estándar)
TEMA 5: Control de la Concurrencia en Java (API Estándar) CONTENIDO Exclusión Mutua con código synchronized. Exclusión Mutua con métodos synchronized. Protocolos de Control de la Exclusión Mutua. Interbloqueos
Práctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android
Desarrollo de apps para móviles Android Conceptos básicos de las aplicaciones Android Modelo vista controlador (MVC) En Android se utiliza el patrón de arquitectura llamado modelo vista controlador. Este
Parsear HTML con htmlparser para Android Guillem Pérez
Parsear HTML con htmlparser para Android Guillem Pérez He escogido esta librería(http://htmlparser.sourceforge.net/) aunque no había muchos ejemplos porque la he visto realmente ligera y esta en java hay
Aplicación Android de Asistencia al Caminante
Aplicación Android de Asistencia al Caminante Enrique R. Delgado Garrido Almacenamiento de datos en Android. Documento: Índice de contenido.1 A2.- Almacenamiento de datos en Android.2 A.2.1 - Preferences2
Programación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer [email protected] Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
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
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Programación Android. Rafael Morón Abad [email protected]
Programación Android Rafael Morón Abad [email protected] 3. Android 3.4 Recursos y Ficheros 5. Recursos y ficheros Nombre del Proyecto Código fuente Código generado Librerías Activos (recursos especiales)
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Tema: Clases y Objetos en C++.
1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica
INTRODUCCIÓN. [email protected]
INTRODUCCIÓN [email protected] Í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
Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4
Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez [email protected], [email protected] Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando
www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 -
Android Creación de una aplicación sencilla: Forwarding - Página 1 - Realización de la aplicación Forwarding en Android Este es un pequeño tutorial con el que se realizará un pequeño programa para Android
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
Programación Orientada a Eventos
Programación Orientada a Eventos Técnicas de Programación Santiago Pavón V:2012.03.13 Programas Secuénciales El flujo de ejecución del programa sigue la secuencia de sentencias que lo forman. El estado
Object 1. Threads en Java
Object 1 Threads en Java Introducción En este artículo voy a explicar cómo se usan los threads en Java (también traducidos como "hilos de ejecución"). La intención no es solamente explicar cuáles son las
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Uso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
Java RMI. Sistemas Distribuidos Rodrigo Santamaría
+ Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en
Java: Programación Multithread
Qué es un thread? Java: Programación Multithread Hasta el momento hemos desarrollado programas secuenciales con un único thread: en cualquier instante durante la ejecución de un programa hay un único punto
Tema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid
las RPC de Java. Parte I Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 006 RMI y RPC RPC: Remote Procedure Call. RMI y RPC RPC: Remote Procedure Call.
Clases abstractas e interfaces
Clases abstractas e interfaces Clases abstractas Una clase abstracta es una clase que no se puede instanciar se usa únicamente para definir subclases Cuándo es una clase abstracta? En cuanto uno de sus
Repaso de las características más importantes de la programación Java y su adaptación a Android
Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y
FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Curso de Android con Java
Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Una aplicación Android consiste en una serie de componentes poco acoplados y perfectamente estructurados, los cuales
2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Solución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Práctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Elementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente.
Threads (hilos) Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Conceptos: Proceso (thread o hilo): es un programa en ejecución
Práctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu)
Devoluciones de llamada en RMI (Callbacks) Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu) Devolución de llamadas, introducción Cliente-servidor clásico servidorpasivo Tipo pull.
Modelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Tareas en segundo plano AsyncTask Thread
Tareas en segundo plano AsyncTask Thread Programació De Dispositius Mòbils PRDM Cristobal Raya Giner 2015 Hilos de ejecución En una aplicación Android, todas las actividades, los servicios y los broadcast
TP Nº4 Android - SQLite Fecha Miércoles 2014/08/29 Profesor: Pablo Ulman (Polshu)
BASES DE DATOS EN ANDROID Soluciones de Almacenamiento de Datos: Shared Preferences: o Datos primitivos privados almacenados con clave/valor Internal Storage: o Almacenamiento interno en la memoria del
Programación en Java. Programación en OO
Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,
Concurrencia en Java
Concurrencia en Java Herramientas proporcionadas por Java La Máquina Virtual (JVM) Pedro Pablo Gómez Martín La clase Thread Clase principal con la que conseguir concurrencia. La llamada a su método start()
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes
MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar
MONITORES EN JAVA Un monitor es un objeto que implementa acceso bajo e.m. a todos sus métodos, y provee sincronización En Java, son objetos de una clase cuyos métodos públicos son todos synchronized Un
Universidad de Cantabria [email protected]
Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una
Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y
Apéndice A Bloques DLL Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y programarlo en lenguaje C, compilarlo dentro de un archivo DLL usando el Microsoft C/C++ o el
Factory method (Gamma et al.)
Factory method (Gamma et al.) Define una interfaz para crear un objeto pero deja a las subclases decidir que clase instanciar Motivación: Consideremos un framework que presenta múltiples documentos al
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
Programación Orientada a Objetos en C#.NET CAPÍTULO 8 E V E N T O S. Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.
CAPÍTULO 8 E V E N T O S 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Quéesunevento? Paraquésirve? Qué temas se deben dominar para implementar aplicaciones con eventos? Qué se requiere
en otra máquina exactamente de la misma manera que si se encontrará en la misma máquina
Máquina A Máquina B Máquina C Lo ideal sería tener un sistema distribuido orientado a objetos que permita: 1)Invocar un método de un objeto que se localiza en otra máquina exactamente de la misma manera
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Programación Android. Rafael Morón Abad [email protected]
Programación Android Rafael Morón Abad [email protected] 3.5. Persistencia Persistencia Para poder almacenar información persistente, Android nos proporciona 3 mecanismos: 1. Preferencias 2. Ficheros
Arquitectura y Diseño de Sistemas Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre de 2015
Trabajo Práctico N 3 DOO Principios SOLID 1. Mencione cuáles son los principios denominados SOLID y describa brevemente sus características. 2. Supongamos que en una organización, cuando se realizan transferencias
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación
1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)
El lenguaje de programación Java
Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red
1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)
1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los
Programación Android. Rafael Morón Abad [email protected]
Programación Android Rafael Morón Abad [email protected] Otras APIs avanzadas Otras APIs de Interés en Android son: Audio y Video Localización y Mapas Audio y Vídeo Android soporta una gran variedad
Herencia. 3.- Herencia. Declaración de una clase derivada en Delphi. Jerarquía de clases
Herencia 3.- Herencia La herencia nos permite definir datos y métodos que son generales (comunes a distintas clases) por separado de las que son particulares a cada clase. Esto se logra definiendo lo que
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
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
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Pruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI
PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI Héctor Pérez 2 MobileTracker: Especificación El computador de la torre de control ejecuta el servicio Follower que registra los
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.
Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de
Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos
Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla
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
Crear una Activity en Android. Paso por paso
19-03-2014 Crear una Activity en Android. Paso por paso Una breve descripción de qué hacer cuando las herramientas de desarrollo de Android se convierten en nuestros enemigos. A veces, puede pasar que
2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Índice. Herramientas de desarrollo. Historia Qué es Android? Arquitectura del sistema. Componentes Android Modelos de Negocio
1 Introducción a Android Índice Historia Qué es Android? Arquitectura del sistema Herramientas de desarrollo Componentes Android Modelos de Negocio 2 Objetivos Herramientas de desarrollo Conocer las herramientas
