SlideShare una empresa de Scribd logo
Programación en
Android
Picasso, Asynchronous HTTP Client, Otto
con
Picasso
http://square.github.io/picasso/
Es una librería para gestionar de forma
eficiente la carga de imágenes en
nuestras aplicaciones
¿Qué es?
Picasso
¿Cuando utilizarla?
Nuestra aplicación muestra un volumen
significativo de imágenes que obtiene de
una o diversas fuentes, usando ListView o
GridView.
galería, timeline, …
Picasso
<dependency>
<groupId>com.squareup.picasso</groupId>
<artifactId>picasso</artifactId>
<version>2.4.0</version>
</dependency>
dependencies {
compile ‘com.squareup.picasso:picasso:2.4.0'
}
Descargar el jar de la web e incluirlo en nuestro proyecto
¿Cómo utilizarla? (1)
Maven
Gradle
jar
Picasso
Picasso.with(context)
.load(R.drawable.img)
.into(imageView1);
Picasso.with(context)
.load(“http://dominio.com/img.png”)
.into(imageView1);
Picasso.with(context)
.load(new File(“path”))
.into(imageView1);
¿Cómo utilizarla? (2)
Picasso
1. Gestión óptima de los recursos en la visualización de
imágenes en ListView y GridView
2. Caché automática en memoria y disco
• Cancelación automática de la descarga
• Reciclado de bitmaps
¿Qué ventajas tiene?
4. Es muy fácil de utilizar y no necesita componentes
extras para visualizar las imágenes.
3. Permite cargar las imágenes desde el propio
dispositivo o desde HTTP
5. Es muy ligera, sólo 115Kb la última versión
Picasso
Diario Secreto de Violetta
Experiencia personal
Asynchronous HTTP Client
Es una librería para realizar peticiones
HTTP de forma asíncrona
http://loopj.com/android-async-http/
Está construida utilizando la librería HttpClient
de apache que está incluida en el SDK de Android
¿Qué es?
Asynchronous HTTP Client
¿Cuando utilizarla?
Nuestra aplicación utiliza un API REST
propia o de terceros para obtener
información
Asynchronous HTTP Client
<dependency>
<groupId>com.loopj.android</groupId>
<artifactId>android-async-http</artifactId>
<version>1.4.6</version>
</dependency>
dependencies {
compile 'com.loopj.android:android-async-http:1.4.6'
}
Descargar el jar de la web e incluirlo en nuestro proyecto
¿Cómo utilizarla? (1)
Maven
Gradle
jar
Asynchronous HTTP Client
!
clase AsyncHttpClient
!
interface AsyncHttpResponseHandler
¿Cómo utilizarla? (2)
Cliente HTTP Callback
Ambas están definidas en el package com.loopj.android.http
Asynchronous HTTP Client
import com.loopj.android.http.*;
!
AsyncHttpClient client = new AsyncHttpClient();
!
client.get(“http://helloworld.com”, new AsyncHttpResponseHandler()
{
@Override
public void onStart() {
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[]
response) {
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[]
errorResponse, Throwable e) {
}
@Override
public void onRetry(int retryNo){
}
});
¿Cómo utilizarla? (3)
Asynchronous HTTP Client
import com.loopj.android.http.*;
!
public class MyAppRestClient {
!
private static final BASE_URL = “http://api.service.com/1/”;
private static AsyncHttpClient client = new AsyncHttpClient();
!
public static void get(String url, RequestParams params,
AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}
!
public static void post(String url, RequestParams params,
AsyncHttpResponseHandler responseHandler) {
client.post(getAbsoluteUrl(url), params, responseHandler);
}
!
private static String getAbsoluteUrl(String url) {
return BASE_URL + url;
}
!
}
¿Cómo utilizarla? (4)
Asynchronous HTTP Client
import com.loopj.android.http.*;
!
public class MyAppRestClientUsage {
!
public void getPosts() {
MyAppRestClientUsage.get(“posts”, null, new
JsonHttpResponseHandler(){
!
@Override
public void onSuccess(int statusCode, Header[] headers,
JSONObject response) {
// Si la respuesta es un JSONObject
}
@Override
public void onSuccess(int statusCode, Header[] headers,
JSONArray timeline) {
// Si la respuesta es un JSONArray
});
}
!
}
¿Cómo utilizarla? (5)
Asynchronous HTTP Client
¿Qué ventajas tiene?
1. Las peticiones se llevan a cabo en un Threadpool fuera
del UI thread, lo que mejora la experiencia del usuario.
2. Dispone de subclases del callback preparadas para tratar
con respuestas JSON, o para realizar subidas/descargas de
ficheros.
6. Es muy fácil de utilizar.
5. Es robusta y ligera: Sólo 95Kb la última versión
3. Almacena las cookies en las preferencias del usuario. Si el
API rest gestiona la sesión del usuario con cookies, el usuario
se mantendrá conectado al volver a abrir la aplicación.
4. Está implementada usando el API HttpClient de apache.
Asynchronous HTTP Client
Social CVC : Hackathon Menorca
Experiencia personal
Asynchronous HTTP Client
¿Quién la utiliza?
Otto
http://square.github.io/otto/
Bus de eventos para desacoplar
componentes de la aplicación que
se comunican entre ellos.
¿Qué es?
Otto
Conectando componentes: interfaces
Componente
1
Productor
Componente
2
Consumidor
Interface
implementausa
Otto
public interface ConsumerDelegate {
public void notify(List<String> data);
}
Conectando componentes: interfaces
Otto
public class ProducerTask extends AsyncTask<Void, Void, List<String>> {
private ConsumerDelegate mDelegate;
!
public ProducerTask(ConsumerDelegate delegate) {
mDelegate = delegate;
}
!
protected List<String> doInBackground(Void... params) {
List<String> data = new ArrayList<String>();
data.add(“Hola Mundo!”);
return data;
}
protected void onPostExecute(List<String> result) {
mDelegate.notify(result);
}
}
Conectando componentes: interfaces
Otto
Conectando componentes: interfaces
public class MyActivity extends Activity implements ConsumerDelegate {
@Override
public void notify(List<String> data) {
// Mostrar mensaje en pantalla
}
!
}
Otto
Conectando componentes:
Bus de eventos
Bus de eventos
Componente
1
Productor
mensaje
Componente
3
Consumidor
Componente
4
Consumidor
mensaje mensaje
Componente
2
Productor/
Consumidor
mensaje-2
Componente
5
Consumidor
mensaje-2mensaje-2mensaje
Otto
<dependency>
<groupId>com.squareup</groupId>
<artifactId>otto</artifactId>
<version>1.3.6</version>
</dependency>
dependencies {
compile 'com.squareup:otto:1.3.6'
}
Descargar el jar de la web e incluirlo en nuestro proyecto
¿Cómo utilizarla? (1)
Maven
Gradle
jar
Otto
¿Cómo utilizarla? (2)
!
com.squareup.otto.Bus
Bus
!
@com.squareup.otto.Subscribe
Consumidores
!
clases Java estándar
Mensajes
Otto
¿Cómo utilizarla? (3)
Tener una instancia del bus accesible por el resto de componentes:
• Application
• Método estático
• Singleton
Los productores obtienen la instancia del bus para publicar eventos
Los consumidores se suscriben al bus para recibir eventos
e implementan métodos con la anotación @Subscribe para procesarlos.
Otto
¿Cómo utilizarla? (4)
!
!
public class MyApplication extends Application {
!
private Bus bus;
!
public Bus getBus() {
!
if (mBus == null) {
mBus = new Bus();
}
!
return mBus;
!
}
!
}
Declaración del bus
Otto
¿Cómo utilizarla? (4)
!
!
public class Event {
!
private List<String> mData;
public Event(List<String> data) {
mData = data;
}
!
public List<String> getData() {
return mData;
}
!
}
Declaración del mensaje
Otto
¿Cómo utilizarla? (5)
public class MyActivity extends Activity {
@Override
protected void onResume() {
((MyApplication) getApplication()).getBus().register(this);
}
!
@Override
protected void onPause() {
((MyApplication) getApplication()).getBus().unregister(this);
}
!
@Subscribe
public void loadList(Event eventData) {
// Mostrar mensaje en pantalla
}
!
}
Consumidores de mensajes
Otto
¿Cómo utilizarla? (6)
!
application.getBus().post(new
Event(Arrays.asList(“Hello World!”));
Productor de mensajes
@Produce
public Event produceEvent() {
return new Event(Arrays.AsList(“Hello World!”));
}
*requiere que la clase que produce el evento esté registrada en el Bus
Otto
¿Qué ventajas tiene?
1. Es una forma estándar de conectar los componentes de
nuestra app: Si muchos componentes de nuestra aplicación
se comunican entre sí, es una forma estándar de definir la
comunicación, creando los modelos que representan los
mensajes y utilizando el bus para comunicar.
2. Es robusta y ligera: Sólo 19Kb la última versión
Otto
Social CVC : Hackathon Menorca
Experiencia personal
Sobre mi
juan.miqueo@yuraksisa.com
www.yuraksisa.com
@yurak_sisa

Más contenido relacionado

La actualidad más candente

Volley vs Retrofit
Volley vs RetrofitVolley vs Retrofit
Volley vs Retrofit
Facundo Rodríguez Arceri
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
José Antonio Escobar García
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
Miguel Ángel Enríquez López
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
Pedro J. Molina
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
jalzate
 
Spring framework
Spring frameworkSpring framework
Spring framework
San Juan Guichicovi
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajax
jubacalo
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
Abimael Desales López
 
Eclipse para novatos java
Eclipse para novatos javaEclipse para novatos java
Eclipse para novatos java
martaferrari
 

La actualidad más candente (9)

Volley vs Retrofit
Volley vs RetrofitVolley vs Retrofit
Volley vs Retrofit
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajax
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Eclipse para novatos java
Eclipse para novatos javaEclipse para novatos java
Eclipse para novatos java
 

Destacado

C sharp
C sharpC sharp
C sharp
Aleja Zapata
 
Introducción a programación con PHP
Introducción a programación con PHPIntroducción a programación con PHP
Introducción a programación con PHP
yanburbano
 
Android
AndroidAndroid
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
Escurra Walter
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
Ale_Hernandez
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
Pedro Antonio Villalta (Pavillalta)
 
APLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROIDAPLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROID
Karlozz Patrik Gonzalez May
 
C sharp
C sharpC sharp
C sharp
Isrra AguiMor
 
Programación desde cero en C# en español
Programación desde cero en C# en españolProgramación desde cero en C# en español
Programación desde cero en C# en español
Anyelo Grullon Mata
 
C# guia total del programador
C# guia total del programadorC# guia total del programador
C# guia total del programador
Enrique Urias Guzmán
 
El gran libro de android
El gran libro de androidEl gran libro de android
El gran libro de android
Jose Luis Fernandez
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
Isabel_Samir
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
quesada_diego
 

Destacado (13)

C sharp
C sharpC sharp
C sharp
 
Introducción a programación con PHP
Introducción a programación con PHPIntroducción a programación con PHP
Introducción a programación con PHP
 
Android
AndroidAndroid
Android
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
 
APLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROIDAPLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROID
 
C sharp
C sharpC sharp
C sharp
 
Programación desde cero en C# en español
Programación desde cero en C# en españolProgramación desde cero en C# en español
Programación desde cero en C# en español
 
C# guia total del programador
C# guia total del programadorC# guia total del programador
C# guia total del programador
 
El gran libro de android
El gran libro de androidEl gran libro de android
El gran libro de android
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
 

Similar a Presentacion #bbmnk

REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2
Rodrigo Ezequiel Liberoff V
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Abimael Desales López
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
Paradigma Digital
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
Sergi Almar i Graupera
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
Alberto Ruibal
 
Web Services JAX-RS RESTful y SOAP
Web Services JAX-RS RESTful y SOAPWeb Services JAX-RS RESTful y SOAP
Web Services JAX-RS RESTful y SOAP
ismaelmartincolmenarejo
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
Gabriela Bosetti
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
jose luis barrientos
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
Adolfo Sanz De Diego
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
juliocombativo
 
Servicios web
Servicios webServicios web
Servicios web
Laura Cortes
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
MarlonAlbertoGalvis
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web services
Ander Martinez
 
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Tema servlets
Tema servletsTema servlets
Tema servlets
simeonhuamanchao
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
Pedro J. Molina
 
Mi app-asp-net-mvc2
Mi app-asp-net-mvc2Mi app-asp-net-mvc2
Mi app-asp-net-mvc2
Enrique Valdez
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
Manuel Carrasco Moñino
 

Similar a Presentacion #bbmnk (20)

REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2REST Versioning Architecture with ASP.NET MVC Web API v1.2
REST Versioning Architecture with ASP.NET MVC Web API v1.2
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Web Services JAX-RS RESTful y SOAP
Web Services JAX-RS RESTful y SOAPWeb Services JAX-RS RESTful y SOAP
Web Services JAX-RS RESTful y SOAP
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
Servicios web
Servicios webServicios web
Servicios web
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web services
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
 
Mi app-asp-net-mvc2
Mi app-asp-net-mvc2Mi app-asp-net-mvc2
Mi app-asp-net-mvc2
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
 

Último

Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 

Último (9)

Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 

Presentacion #bbmnk