SlideShare uma empresa Scribd logo
1 de 80
Aplicaciones
   multiplataforma con
PhoneGap y jQuery Mobile
             Adrián Catalán
  adriancatalan@elementalgeeks.com
                 @ykro
¿qué
necesitamos?
Código en
https://github.com
/ykro/devfestlima2
  012-phonegap
• Eclipse Classic 4.2.1
  –http://www.eclipse.org/downloads
   /
• Android SDK
  –http://developer.android.com/sdk/
   installing/index.html
• ADT Plugin
  –http://developer.android.com/sdk/
   installing/installing-adt.html
• PhoneGap
 –http://phonegap.com/download
Creamos un nuevo
proyecto de Android
  dentro de Eclipse
Podemos agregar un
ícono personalizado y
 editarlo con algunas
       opciones
Creamos una
 actividad nueva y
dependiendo de la
versión puede ser
   más complejo
Colocamos los
 valores deseados
para los datos de la
actividad y el layout
Dentro de la
 estructura del
proyecto deben
existir 2 carpetas
/assets/www
    /libs
Si no existe alguna
    de ellas es
 necesario crearla
De la carpeta
  descargada de
Cordova buscamos
    la carpeta
   /lib/android
Copiamos el archio
 cordova-2.1.0.js a
   /assets/www
Repetir el proceso
  para el archivo
cordova-2.1.0.jar a
       /libs
Y también para la
carpeta /xml con
  destino a /res
    dentro del
     proyecto
Es necesario
modificar el archivo
  de la actividad
   dentro de la
   carpeta /src
En vez de heredar
de Activity se hará
   de DroidGap
(requiere import)
Reemplazar
setContentView(R.layo
      ut.main);
        por
super.loadUrl("file:/
//android_asset/www/i
    ndex.html");
Si Eclipse muestra
   algún error de
    referencias es
necesario limpiar el
       proyecto
Si el error
permanece agregar
 la librería (.jar) al
      Build Path
Click derecho en el
 proyecto y luego
 “Configure Build
       Path”
De la pantalla de
 configuración
tomar la opción
  “Add JARs”
Y luego elegir el
JAR de Cordova
Luego editar el
     archivo
AndroidManifest.x
       ml
Haga click derecho
      sobre el
archivo, seleccione
  “Open With” y
luego “Text Editor”
En la parte que dice
 <!-- agregar
 permisos -->
agregar el siguiente
     contenido
En el mismo archivo
 modificar la actividad
 creada y agregue una
 nueva actividad como
se indica a continuación
En la carpeta
/assets/www agregar
   un archivo nuevo
llamado index.html y
colocar contenido de
        prueba
<html>
      <body>
<h1>Hello World</h1>
      </body>
      </html>
Ejecutar y ver el
resultado en el
   emulador
Usando el API de
   Instagram
  http://instagram.com/developer/
Usando jQuery
mobile y mapas
 http://code.google.com/p/jquery-ui-map/
Código en
https://github.com
/ykro/devfestlima2
  012-phonegap
¿preguntas?
Aplicaciones
   multiplataforma con
PhoneGap y jQuery Mobile
             Adrián Catalán
  adriancatalan@elementalgeeks.com
                 @ykro

Mais conteúdo relacionado

Destaque

Référencement, appropriation et usage des outils web 2.0 et réseaux
Référencement, appropriation et usage des outils web 2.0 et réseauxRéférencement, appropriation et usage des outils web 2.0 et réseaux
Référencement, appropriation et usage des outils web 2.0 et réseauxLydie Roumeas
 
Working Party on Statistics (WP-Stat) Task Team on MNCH (French)
Working Party on Statistics (WP-Stat) Task Team on MNCH (French)Working Party on Statistics (WP-Stat) Task Team on MNCH (French)
Working Party on Statistics (WP-Stat) Task Team on MNCH (French)EveryWomanEveryChild
 
Beyoncé et Joana Freitas
Beyoncé et Joana FreitasBeyoncé et Joana Freitas
Beyoncé et Joana Freitasfranciscaf
 
L'oise
L'oiseL'oise
L'oiseCCDH75
 
Impactante Anaconda
Impactante AnacondaImpactante Anaconda
Impactante AnacondaLUIS VELEZ
 
Essai macarenalobosfinal
Essai macarenalobosfinalEssai macarenalobosfinal
Essai macarenalobosfinalmacarenalobos
 
Récupération De Données Mac
Récupération De Données MacRécupération De Données Mac
Récupération De Données Macjimmyroggers
 
Traduction de la dernière version du guide officiel de Scrum (Version Juillet...
Traduction de la dernière version du guide officiel de Scrum (Version Juillet...Traduction de la dernière version du guide officiel de Scrum (Version Juillet...
Traduction de la dernière version du guide officiel de Scrum (Version Juillet...Mahfoud Amiour
 
WordPress Auto Affiche
WordPress Auto AfficheWordPress Auto Affiche
WordPress Auto Affichejimmyroggers
 
Lipo dissoudre traitement
Lipo dissoudre traitementLipo dissoudre traitement
Lipo dissoudre traitementmackbill
 
Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...
Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...
Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...Thierry Pastorello
 
Hackers Grignoli Cortese Parraquini
Hackers Grignoli Cortese ParraquiniHackers Grignoli Cortese Parraquini
Hackers Grignoli Cortese ParraquiniMarcela García
 
Crackers Ribner Gariglio Trik
Crackers Ribner Gariglio TrikCrackers Ribner Gariglio Trik
Crackers Ribner Gariglio TrikMarcela García
 
Scanpst.exe Télécharger
Scanpst.exe TéléchargerScanpst.exe Télécharger
Scanpst.exe Téléchargerjimmyroggers
 

Destaque (20)

Référencement, appropriation et usage des outils web 2.0 et réseaux
Référencement, appropriation et usage des outils web 2.0 et réseauxRéférencement, appropriation et usage des outils web 2.0 et réseaux
Référencement, appropriation et usage des outils web 2.0 et réseaux
 
Creactivando UVA2011
Creactivando UVA2011Creactivando UVA2011
Creactivando UVA2011
 
Somos Mayores
Somos MayoresSomos Mayores
Somos Mayores
 
Working Party on Statistics (WP-Stat) Task Team on MNCH (French)
Working Party on Statistics (WP-Stat) Task Team on MNCH (French)Working Party on Statistics (WP-Stat) Task Team on MNCH (French)
Working Party on Statistics (WP-Stat) Task Team on MNCH (French)
 
Beyoncé et Joana Freitas
Beyoncé et Joana FreitasBeyoncé et Joana Freitas
Beyoncé et Joana Freitas
 
L'oise
L'oiseL'oise
L'oise
 
Impactante Anaconda
Impactante AnacondaImpactante Anaconda
Impactante Anaconda
 
Essai macarenalobosfinal
Essai macarenalobosfinalEssai macarenalobosfinal
Essai macarenalobosfinal
 
Récupération De Données Mac
Récupération De Données MacRécupération De Données Mac
Récupération De Données Mac
 
Traduction de la dernière version du guide officiel de Scrum (Version Juillet...
Traduction de la dernière version du guide officiel de Scrum (Version Juillet...Traduction de la dernière version du guide officiel de Scrum (Version Juillet...
Traduction de la dernière version du guide officiel de Scrum (Version Juillet...
 
WordPress Auto Affiche
WordPress Auto AfficheWordPress Auto Affiche
WordPress Auto Affiche
 
Monti gpe mlearning.
Monti gpe mlearning.Monti gpe mlearning.
Monti gpe mlearning.
 
Etre femme
Etre femmeEtre femme
Etre femme
 
Lipo dissoudre traitement
Lipo dissoudre traitementLipo dissoudre traitement
Lipo dissoudre traitement
 
Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...
Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...
Pastopole est un pôle d'expertise qui vous accompagne dans votre stratégie on...
 
Hackers Grignoli Cortese Parraquini
Hackers Grignoli Cortese ParraquiniHackers Grignoli Cortese Parraquini
Hackers Grignoli Cortese Parraquini
 
Crackers Ribner Gariglio Trik
Crackers Ribner Gariglio TrikCrackers Ribner Gariglio Trik
Crackers Ribner Gariglio Trik
 
L'exploitation
L'exploitationL'exploitation
L'exploitation
 
Scanpst.exe Télécharger
Scanpst.exe TéléchargerScanpst.exe Télécharger
Scanpst.exe Télécharger
 
El Número de los sustantivos
El Número de los sustantivosEl Número de los sustantivos
El Número de los sustantivos
 

Semelhante a Devfest Lima2012

GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...Ivan Petrlik
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparencytrustparency
 
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...Ivan Petrlik
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiFreelance
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Androidykro
 
Mi primera App con GAE
Mi primera App con GAEMi primera App con GAE
Mi primera App con GAEGDG Lima
 
Taller de introducción a Google App Engine
Taller de introducción a Google App EngineTaller de introducción a Google App Engine
Taller de introducción a Google App EngineManuel Martín
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Micael Gallego
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)repcax
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"Alberto Ruibal
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j queryPablo Viteri
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipsePVarely24
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipseHeidiie Hdz
 

Semelhante a Devfest Lima2012 (20)

GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...GUIA DE  LABORATORIO  PHONE GAP JQUERY  MOBILE  CARGADO DE_DATOS_DE_REGISTROS...
GUIA DE LABORATORIO PHONE GAP JQUERY MOBILE CARGADO DE_DATOS_DE_REGISTROS...
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparency
 
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo ii
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
 
Mi primera App con GAE
Mi primera App con GAEMi primera App con GAE
Mi primera App con GAE
 
Taller de introducción a Google App Engine
Taller de introducción a Google App EngineTaller de introducción a Google App Engine
Taller de introducción a Google App Engine
 
Tutorial
TutorialTutorial
Tutorial
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Cetis 109(2)
Cetis 109(2)Cetis 109(2)
Cetis 109(2)
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Android Pres3
Android Pres3Android Pres3
Android Pres3
 
S8-DS2.pptx
S8-DS2.pptxS8-DS2.pptx
S8-DS2.pptx
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
 
Gwt II - trabajando con gwt
Gwt II - trabajando con gwtGwt II - trabajando con gwt
Gwt II - trabajando con gwt
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 
Elementos de eclipse
Elementos de eclipseElementos de eclipse
Elementos de eclipse
 

Mais de ykro

Clase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacionClase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacionykro
 
Clase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapasClase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapasykro
 
Clase 1 introducción
Clase 1 introducciónClase 1 introducción
Clase 1 introducciónykro
 
[Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android [Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android ykro
 
Challenge assumptions
Challenge assumptionsChallenge assumptions
Challenge assumptionsykro
 
BroomHockey
BroomHockeyBroomHockey
BroomHockeyykro
 
Assignment 3
Assignment 3Assignment 3
Assignment 3ykro
 
Observation journey
Observation journeyObservation journey
Observation journeyykro
 
Crowdsourcing a conference
Crowdsourcing a conferenceCrowdsourcing a conference
Crowdsourcing a conferenceykro
 
Mejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGapMejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGapykro
 
Innovador de todos los días
Innovador de todos los díasInnovador de todos los días
Innovador de todos los díasykro
 
Cultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.comCultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.comykro
 
Interfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todosInterfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todosykro
 
Joomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvilJoomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvilykro
 
El androide y la telaraña móvil
El androide y la telaraña móvilEl androide y la telaraña móvil
El androide y la telaraña móvilykro
 
3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androide3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androideykro
 
Colaboracion con herramientas en la nube
Colaboracion con herramientas en la nubeColaboracion con herramientas en la nube
Colaboracion con herramientas en la nubeykro
 
Desarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHPDesarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHPykro
 
Taller Android - COECYS 2010
Taller Android - COECYS 2010Taller Android - COECYS 2010
Taller Android - COECYS 2010ykro
 
Taller Android - FIT 2010
Taller Android - FIT 2010Taller Android - FIT 2010
Taller Android - FIT 2010ykro
 

Mais de ykro (20)

Clase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacionClase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacion
 
Clase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapasClase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapas
 
Clase 1 introducción
Clase 1 introducciónClase 1 introducción
Clase 1 introducción
 
[Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android [Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android
 
Challenge assumptions
Challenge assumptionsChallenge assumptions
Challenge assumptions
 
BroomHockey
BroomHockeyBroomHockey
BroomHockey
 
Assignment 3
Assignment 3Assignment 3
Assignment 3
 
Observation journey
Observation journeyObservation journey
Observation journey
 
Crowdsourcing a conference
Crowdsourcing a conferenceCrowdsourcing a conference
Crowdsourcing a conference
 
Mejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGapMejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGap
 
Innovador de todos los días
Innovador de todos los díasInnovador de todos los días
Innovador de todos los días
 
Cultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.comCultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.com
 
Interfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todosInterfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todos
 
Joomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvilJoomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvil
 
El androide y la telaraña móvil
El androide y la telaraña móvilEl androide y la telaraña móvil
El androide y la telaraña móvil
 
3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androide3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androide
 
Colaboracion con herramientas en la nube
Colaboracion con herramientas en la nubeColaboracion con herramientas en la nube
Colaboracion con herramientas en la nube
 
Desarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHPDesarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHP
 
Taller Android - COECYS 2010
Taller Android - COECYS 2010Taller Android - COECYS 2010
Taller Android - COECYS 2010
 
Taller Android - FIT 2010
Taller Android - FIT 2010Taller Android - FIT 2010
Taller Android - FIT 2010
 

Último

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Devfest Lima2012

Notas do Editor

  1. package com.elementalgeeks.geophotos;import org.apache.cordova.DroidGap;import android.os.Bundle;import android.view.Menu;public class MainActivity extends DroidGap { @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.loadUrl(&quot;file:///android_asset/www/index.html&quot;); } @Override public booleanonCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}
  2. &lt;supports-screensandroid:largeScreens=&quot;true&quot;android:normalScreens=&quot;true&quot;android:smallScreens=&quot;true&quot;android:resizeable=&quot;true&quot;android:anyDensity=&quot;true&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.CAMERA&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.VIBRATE&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.ACCESS_COARSE_LOCATION&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.ACCESS_FINE_LOCATION&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.ACCESS_LOCATION_EXTRA_COMMANDS&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.READ_PHONE_STATE&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.INTERNET&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.RECEIVE_SMS&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.RECORD_AUDIO&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.MODIFY_AUDIO_SETTINGS&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.READ_CONTACTS&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.WRITE_CONTACTS&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.WRITE_EXTERNAL_STORAGE&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.ACCESS_NETWORK_STATE&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.GET_ACCOUNTS&quot; /&gt; &lt;uses-permission android:name=&quot;android.permission.BROADCAST_STICKY&quot; /&gt;
  3. &lt;activity android:configChanges=&quot;orientation|keyboardHidden&quot; android:label=&quot;@string/app_name&quot;android:name=&quot;.HolaMundoActivity&quot; &gt; &lt;intent-filter &gt; &lt;action android:name=&quot;android.intent.action.MAIN&quot; /&gt; &lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;activity android:name=&quot;org.apache.cordova.DroidGap&quot; android:label=&quot;@string/app_name&quot; android:configChanges=&quot;orientation|keyboardHidden&quot;&gt; &lt;/activity&gt;
  4. &lt;!doctype html&gt;&lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;/body&gt;&lt;/html&gt;
  5. &lt;div data-role=&quot;page&quot;&gt; &lt;div data-role=&quot;header&quot;&gt; &lt;/div&gt; &lt;div data-role=&quot;content&quot;&gt; &lt;/div&gt;&lt;/div&gt;
  6. &lt;div id=&quot;gmap-3&quot; data-role=&quot;page&quot;&gt; &lt;div data-role=&quot;header&quot;&gt; &lt;h1&gt;GeoPhotos&lt;/h1&gt; &lt;/div&gt; &lt;div data-role=&quot;content&quot;&gt; &lt;div class=&quot;ui-bar-c ui-corner-all ui-shadow&quot; style=&quot;padding:1em;&quot;&gt; &lt;div id=&quot;map_canvas&quot; style=&quot;height:350px&quot;&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;/div&gt;
  7. &lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps/api/js?sensor=false&amp;libraries=places&quot;&gt;&lt;/script&gt; &lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css&quot; /&gt;&lt;script src=&quot;http://code.jquery.com/jquery-1.8.2.min.js&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;ui/jquery.ui.map.js&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;ui/jquery.ui.map.services.js&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;ui/jquery.ui.map.extensions.js&quot;&gt;&lt;/script&gt;
  8. &lt;script type=&quot;text/javascript&quot;&gt; $(&apos;#gmap-3&apos;).live(&quot;pageshow&quot;, function() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition( locationSuccess,function(){}, {enableHighAccuracy: true }); } }); &lt;/script&gt;
  9. &lt;script type=&quot;text/javascript&quot;&gt; function locationSuccess(position){ var lat = position.coords.latitude; var lng = position.coords.longitude; $(&apos;#map_canvas&apos;).gmap({ &apos;center&apos;: new google.maps.LatLng(lat, lng), &apos;zoom&apos;: 15}); getPhotos(); }&lt;/script&gt;
  10. var latlng = $(&apos;#map_canvas&apos;).gmap(&apos;get&apos;, &apos;map&apos;).getCenter(); $(&apos;#map_canvas&apos;).gmap(&apos;clear&apos;, &apos;markers&apos;); var lat = latlng.lat(); var lng = latlng.lng();
  11. var client_id = &quot;fc8041d4af1544a2939c3f5a9a1ef8cf&quot;; var url = &quot;https://api.instagram.com/v1/media/search?lat=&quot; + lat + &quot;&amp;lng=&quot; + lng + &quot;&amp;client_id=&quot; + client_id + &quot;&amp;callback=?&quot;;
  12. $.getJSON(url, function(data){ var data_elements = data[&quot;data&quot;]; var count = 0;});
  13. var lat = current_element[&quot;location&quot;][&quot;latitude&quot;]; var lng = current_element[&quot;location&quot;][&quot;longitude&quot;]; var position = new google.maps.LatLng(lat,lng) var thumbnail = current_element[&quot;images&quot;][&quot;thumbnail&quot;][&quot;url&quot;]; var caption = &quot;ver&quot;; if (current_element[&quot;caption&quot;] != null) { caption = current_element[&quot;caption&quot;][&quot;text&quot;]; } var link = current_element[&quot;link&quot;]; var info_window = &quot;&lt;img src=\\&quot;&quot; + thumbnail + &quot;\\&quot;/&gt;&lt;br/&gt;&lt;a href=\\&quot;&quot; + link + &quot;\\&quot;&gt;&quot; + caption + &quot;&lt;/a&gt;&quot;;
  14. $(&apos;#map_canvas&apos;).gmap(&apos;addMarker&apos;, {&apos;position&apos;: position}).click( function(){ $(&apos;#map_canvas&apos;).gmap(&apos;openInfoWindow&apos;, {&apos;content&apos;: info_window}, this); $(&apos;#map_canvas&apos;).gmap(&apos;getMap&apos;).panTo(position);});
  15. $.each(data_elements, function(index, current_element) { count++; var lat = current_element[&quot;location&quot;][&quot;latitude&quot;]; var lng = current_element[&quot;location&quot;][&quot;longitude&quot;]; var position = new google.maps.LatLng(lat,lng) var thumbnail = current_element[&quot;images&quot;][&quot;thumbnail&quot;][&quot;url&quot;]; var caption = &quot;ver&quot;; if (current_element[&quot;caption&quot;] != null) { caption = current_element[&quot;caption&quot;][&quot;text&quot;]; } var link = current_element[&quot;link&quot;]; var info_window = &quot;&lt;img src=\\&quot;&quot; + thumbnail + &quot;\\&quot;/&gt;&lt;br/&gt;&lt;a href=\\&quot;&quot; + link + &quot;\\&quot;&gt;&quot; + caption + &quot;&lt;/a&gt;&quot;; $(&apos;#map_canvas&apos;).gmap(&apos;addMarker&apos;, {&apos;position&apos;: position}).click(function(){ $(&apos;#map_canvas&apos;).gmap(&apos;openInfoWindow&apos;, {&apos;content&apos;: info_window}, this); $(&apos;#map_canvas&apos;).gmap(&apos;getMap&apos;).panTo(position); });});
  16. &lt;div id=&quot;gmap-3&quot; data-role=&quot;page&quot;&gt; &lt;div data-role=&quot;header&quot;&gt; &lt;h1&gt;GeoPhotos&lt;/h1&gt; &lt;/div&gt; &lt;div data-role=&quot;content&quot;&gt; &lt;a href=&quot;javascript:getPhotos();&quot; data-role=&quot;button&quot; data-icon=&quot;refresh&quot; data-inline=&quot;true&quot; id=&quot;refresh-button&quot;&gt;Refresh data&lt;/a&gt; &lt;div id=&quot;result-count&quot; style=&quot;display:inline&quot;&gt;&lt;/div&gt; &lt;br/&gt; &lt;div class=&quot;ui-bar-c ui-corner-all ui-shadow&quot; style=&quot;padding:1em;&quot;&gt; &lt;div id=&quot;map_canvas&quot; style=&quot;height:350px&quot;&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;/div&gt;
  17. $(&quot;#refresh-button&quot;).addClass(&apos;ui-disabled&apos;); $(&quot;#result-count&quot;).html(&quot;loading...&quot;);… $(&quot;#refresh-button&quot;).removeClass(&apos;ui-disabled&apos;); $(&quot;#result-count&quot;).html(&quot;Showing &quot; + count + &quot; results&quot;);