SlideShare a Scribd company logo
1 of 26
SmartDevices con las aplicaciones de gestión Alfonso Fernández José Bordón
Agenda 1 SmartDevices y la actualidad 2 Presentación de GXEv2 a los clientes 3 Integración de GXEv2 con las aplicaciones 4 Beneficios
SD vs Pc
Wordwidesmartphone sales toendusersbyoperatingsystem (Marquet share in %) Fuente: Gartner  (August 2011)
Smartdevices Cloud
Demo APPs
SD/Apps de gestión DBRET Transaction
servidores mobile web
SD/Apps de gestión
Geolocation public static Location getLastKnownLocation() { LocationManageraLocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); if (aLocationManager != null) { // Should get the last in time location, comparing location.getTime() ? Location gpsLocation = aLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); Location networkLocation = aLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); Location location = getLastLocation(gpsLocation, networkLocation); if (location != null) return location; else { Criteria crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = aLocationManager.getBestProvider(crit, true); location = aLocationManager.getLastKnownLocation(provider); if (location != null) return location; } }
return null; } private static Location getLastLocation(Location gpsLocation, Location networkLocation) { if (gpsLocation!=null) return gpsLocation; return networkLocation; } public static JSONObjectgetLastKnownLocationJsonGeoLocationInfo() { Location location = getLastKnownLocation(); JSONObject result = new JSONObject(); if (location!=null) result = locationToJson(location); return result; } public static void requestLocationUpdates(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) {
LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); String provider = getBestProviderFromCriteria(includeHeadingAndSpeed, locationManager); locationManager.requestLocationUpdates(provider, 0, 0, locationListener); } public static Location getLocationGeoLocationInfo(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) { // Date startTime = new Date(); //default to return Location location = null; LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); String provider = getBestProviderFromCriteria(includeHeadingAndSpeed, locationManager); location = locationManager.getLastKnownLocation(provider); long difLocInSeconds = 0; if (location!=null) {
difLocInSeconds = getDifInSeconds(location.getTime(), startTime.getTime()); } while(location==null //has no location  || (minAccuracy!=0 && (!location.hasAccuracy() || location.getAccuracy()> minAccuracy)) //has not accuracy    || difLocInSeconds>tenMinutes ) //is old location { //wait one sec to new location to arrive try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (newCurrentLocation!=null) { location = newCurrentLocation; difLocInSeconds = 0; } Date endTime = new Date(); long difInSeconds = getDifInSeconds(startTime.getTime(), endTime.getTime());
if (difInSeconds>timeout) { break; } } //default to return if(location==null) location = getLastKnownLocation(); return location; } public static JSONObjectgetLocationJsonGeoLocationInfo(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) { Location location = getLocationGeoLocationInfo(minAccuracy, timeout, includeHeadingAndSpeed); //return result JSONObject result = new JSONObject(); if (location!=null) { result = locationToJson(location);
Services.Log.info("getLocationInfo", "Location: " + location.toString()); } return result; } private static long getDifInSeconds(long startTime, long endTime) { long dif = endTime - startTime; long difInSeconds = dif / 1000; return difInSeconds; } public static void removeLocationUpdates(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) { LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); locationManager.removeUpdates( locationListener); } private static String getBestProviderFromCriteria( booleanincludeHeadingAndSpeed, LocationManagerlocationManager) { //Calculate new location with the criteria.
Criteria crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_FINE); crit.setAltitudeRequired(false); crit.setBearingRequired(includeHeadingAndSpeed); crit.setCostAllowed(true); String provider = locationManager.getBestProvider(crit, true); return provider; } private static JSONObjectlocationToJson(Location location) { JSONObjectjsonProperty = new JSONObject(); try { jsonProperty.put("Location", String.valueOf(location.getLatitude()) + "," + String.valueOf(location.getLongitude()) ); jsonProperty.put("Description", "LocationInfo (" + location.getProvider() + ")"); Date date = new Date(); date.setTime(location.getTime()); jsonProperty.put("Time", Services.Strings.getDateTimeStringForServer(date) ); jsonProperty.put("Precision", String.valueOf(location.getAccuracy()) ); if (location.hasBearing()) jsonProperty.put("Heading", String.valueOf(location.getBearing()));
else jsonProperty.put("Heading", String.valueOf(-1)); if (location.hasSpeed()) jsonProperty.put("Speed", String.valueOf(location.getSpeed())); else jsonProperty.put("Speed", String.valueOf(-1)); } catch (JSONException e) { e.printStackTrace(); Services.Log.Error("locationToJson", "Exception in JSONObject.put()", e);  } return jsonProperty; } public static String getLocationString(Location myLocation) { if (myLocation!=null) return String.valueOf(myLocation.getLatitude()) + "," + String.valueOf(myLocation.getLongitude() ); return ""; } private static final LocationListenerlocationListener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) {
} @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } @Override public void onLocationChanged(Location location) { //update my location Services.Log.info("onLocationChanged", "Location: " + location.toString()); newCurrentLocation = location; } };
Beneficios Integración con aplicaciones desarrolladas con Genexus. Integración con sistemas no Genexus. Reutilización de los objetos Genexus. No requiere inversión en capacitación. Fácil mantenimiento para los clientes. Deploy en varios OS.  Seguridad Integrada.
La evolución continua Consumerapplications Line of businessapplications
La evolución continua Line of businessapplications Displayapplications Transactionapplications
Resumen 1 SmartDevices en la actualidad 2 LBA vs CA 3 Necesidades del mercado corporativo 4 Beneficios GxEv2
Asesor del pentágono Coronel JhonBoyd “Aquel que gana la batalla no es el más fuerte , ni siquiera el más valiente, es aquel que tiene la mayor capacidad de adaptarse a los cambios”
Alfonso Fernándezfernandez.laconich@gmail.comJosé Bordónjbordon@sisa.com.py

More Related Content

Viewers also liked (8)

Trazabilidad y personalización al extremo en solución Mobile - Fabián Bonilla
Trazabilidad y personalización al extremo en solución Mobile - Fabián BonillaTrazabilidad y personalización al extremo en solución Mobile - Fabián Bonilla
Trazabilidad y personalización al extremo en solución Mobile - Fabián Bonilla
 
149 g xtest-roadmap
149 g xtest-roadmap149 g xtest-roadmap
149 g xtest-roadmap
 
048 evolution 2-arquitectura_de_las_smart_devices
048 evolution 2-arquitectura_de_las_smart_devices048 evolution 2-arquitectura_de_las_smart_devices
048 evolution 2-arquitectura_de_las_smart_devices
 
039 keynote mike-culver_-_amazon_web_services
039 keynote mike-culver_-_amazon_web_services039 keynote mike-culver_-_amazon_web_services
039 keynote mike-culver_-_amazon_web_services
 
Diseño para desarrolladores
Diseño para desarrolladoresDiseño para desarrolladores
Diseño para desarrolladores
 
096 terminando con-el_mito_de_que_la_tecnologia_esclaviza
096 terminando con-el_mito_de_que_la_tecnologia_esclaviza096 terminando con-el_mito_de_que_la_tecnologia_esclaviza
096 terminando con-el_mito_de_que_la_tecnologia_esclaviza
 
0041 rest web_services_en_genexus
0041 rest web_services_en_genexus0041 rest web_services_en_genexus
0041 rest web_services_en_genexus
 
144 Rest Web Services
144 Rest Web Services144 Rest Web Services
144 Rest Web Services
 

Similar to 097 smart devices-con_las_aplicaciones_de_gestión

Windows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsWindows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and Maps
Oliver Scheer
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 series
openbala
 

Similar to 097 smart devices-con_las_aplicaciones_de_gestión (20)

How to use geolocation in react native apps
How to use geolocation in react native appsHow to use geolocation in react native apps
How to use geolocation in react native apps
 
Battery Efficient Location Services
Battery Efficient Location ServicesBattery Efficient Location Services
Battery Efficient Location Services
 
Backendless apps
Backendless appsBackendless apps
Backendless apps
 
Migrating from Flux to Redux. Why and how.
Migrating from Flux to Redux. Why and how.Migrating from Flux to Redux. Why and how.
Migrating from Flux to Redux. Why and how.
 
Background Life with Android O and beyond - Yonatan Levin, KolGene
Background Life with Android O and beyond - Yonatan Levin, KolGeneBackground Life with Android O and beyond - Yonatan Levin, KolGene
Background Life with Android O and beyond - Yonatan Levin, KolGene
 
Develop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptxDevelop a native application that uses GPS location.pptx
Develop a native application that uses GPS location.pptx
 
Creating an Uber Clone - Part XV - Transcript.pdf
Creating an Uber Clone - Part XV - Transcript.pdfCreating an Uber Clone - Part XV - Transcript.pdf
Creating an Uber Clone - Part XV - Transcript.pdf
 
Creating an Uber Clone - Part XV.pdf
Creating an Uber Clone - Part XV.pdfCreating an Uber Clone - Part XV.pdf
Creating an Uber Clone - Part XV.pdf
 
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
 
DIY Uber
DIY UberDIY Uber
DIY Uber
 
Pandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 Agent
 
Windows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsWindows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and Maps
 
Android Pro Recipes
Android Pro RecipesAndroid Pro Recipes
Android Pro Recipes
 
Boldly Go Where No Man Has Gone Before. Explore Geo on iPhone & Android
Boldly Go Where No Man Has Gone Before. Explore Geo on iPhone & AndroidBoldly Go Where No Man Has Gone Before. Explore Geo on iPhone & Android
Boldly Go Where No Man Has Gone Before. Explore Geo on iPhone & Android
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 series
 
Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location Services
 
Android Location-based應用開發分享
Android Location-based應用開發分享Android Location-based應用開發分享
Android Location-based應用開發分享
 
Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)
 
Firebase overview
Firebase overviewFirebase overview
Firebase overview
 
Creating an Uber Clone - Part XVII.pdf
Creating an Uber Clone - Part XVII.pdfCreating an Uber Clone - Part XVII.pdf
Creating an Uber Clone - Part XVII.pdf
 

More from GeneXus

More from GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

Recently uploaded

Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
vineshkumarsajnani12
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
daisycvs
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
ZurliaSoop
 

Recently uploaded (20)

Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Buy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail AccountsBuy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail Accounts
 
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
 
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAIGetting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
 
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTSDurg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
 

097 smart devices-con_las_aplicaciones_de_gestión

  • 1. SmartDevices con las aplicaciones de gestión Alfonso Fernández José Bordón
  • 2. Agenda 1 SmartDevices y la actualidad 2 Presentación de GXEv2 a los clientes 3 Integración de GXEv2 con las aplicaciones 4 Beneficios
  • 4. Wordwidesmartphone sales toendusersbyoperatingsystem (Marquet share in %) Fuente: Gartner (August 2011)
  • 5.
  • 8. SD/Apps de gestión DBRET Transaction
  • 11. Geolocation public static Location getLastKnownLocation() { LocationManageraLocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); if (aLocationManager != null) { // Should get the last in time location, comparing location.getTime() ? Location gpsLocation = aLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); Location networkLocation = aLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); Location location = getLastLocation(gpsLocation, networkLocation); if (location != null) return location; else { Criteria crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = aLocationManager.getBestProvider(crit, true); location = aLocationManager.getLastKnownLocation(provider); if (location != null) return location; } }
  • 12. return null; } private static Location getLastLocation(Location gpsLocation, Location networkLocation) { if (gpsLocation!=null) return gpsLocation; return networkLocation; } public static JSONObjectgetLastKnownLocationJsonGeoLocationInfo() { Location location = getLastKnownLocation(); JSONObject result = new JSONObject(); if (location!=null) result = locationToJson(location); return result; } public static void requestLocationUpdates(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) {
  • 13. LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); String provider = getBestProviderFromCriteria(includeHeadingAndSpeed, locationManager); locationManager.requestLocationUpdates(provider, 0, 0, locationListener); } public static Location getLocationGeoLocationInfo(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) { // Date startTime = new Date(); //default to return Location location = null; LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); String provider = getBestProviderFromCriteria(includeHeadingAndSpeed, locationManager); location = locationManager.getLastKnownLocation(provider); long difLocInSeconds = 0; if (location!=null) {
  • 14. difLocInSeconds = getDifInSeconds(location.getTime(), startTime.getTime()); } while(location==null //has no location  || (minAccuracy!=0 && (!location.hasAccuracy() || location.getAccuracy()> minAccuracy)) //has not accuracy    || difLocInSeconds>tenMinutes ) //is old location { //wait one sec to new location to arrive try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (newCurrentLocation!=null) { location = newCurrentLocation; difLocInSeconds = 0; } Date endTime = new Date(); long difInSeconds = getDifInSeconds(startTime.getTime(), endTime.getTime());
  • 15. if (difInSeconds>timeout) { break; } } //default to return if(location==null) location = getLastKnownLocation(); return location; } public static JSONObjectgetLocationJsonGeoLocationInfo(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) { Location location = getLocationGeoLocationInfo(minAccuracy, timeout, includeHeadingAndSpeed); //return result JSONObject result = new JSONObject(); if (location!=null) { result = locationToJson(location);
  • 16. Services.Log.info("getLocationInfo", "Location: " + location.toString()); } return result; } private static long getDifInSeconds(long startTime, long endTime) { long dif = endTime - startTime; long difInSeconds = dif / 1000; return difInSeconds; } public static void removeLocationUpdates(Integer minAccuracy, Integer timeout, booleanincludeHeadingAndSpeed) { LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); locationManager.removeUpdates( locationListener); } private static String getBestProviderFromCriteria( booleanincludeHeadingAndSpeed, LocationManagerlocationManager) { //Calculate new location with the criteria.
  • 17. Criteria crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_FINE); crit.setAltitudeRequired(false); crit.setBearingRequired(includeHeadingAndSpeed); crit.setCostAllowed(true); String provider = locationManager.getBestProvider(crit, true); return provider; } private static JSONObjectlocationToJson(Location location) { JSONObjectjsonProperty = new JSONObject(); try { jsonProperty.put("Location", String.valueOf(location.getLatitude()) + "," + String.valueOf(location.getLongitude()) ); jsonProperty.put("Description", "LocationInfo (" + location.getProvider() + ")"); Date date = new Date(); date.setTime(location.getTime()); jsonProperty.put("Time", Services.Strings.getDateTimeStringForServer(date) ); jsonProperty.put("Precision", String.valueOf(location.getAccuracy()) ); if (location.hasBearing()) jsonProperty.put("Heading", String.valueOf(location.getBearing()));
  • 18. else jsonProperty.put("Heading", String.valueOf(-1)); if (location.hasSpeed()) jsonProperty.put("Speed", String.valueOf(location.getSpeed())); else jsonProperty.put("Speed", String.valueOf(-1)); } catch (JSONException e) { e.printStackTrace(); Services.Log.Error("locationToJson", "Exception in JSONObject.put()", e);  } return jsonProperty; } public static String getLocationString(Location myLocation) { if (myLocation!=null) return String.valueOf(myLocation.getLatitude()) + "," + String.valueOf(myLocation.getLongitude() ); return ""; } private static final LocationListenerlocationListener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) {
  • 19. } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } @Override public void onLocationChanged(Location location) { //update my location Services.Log.info("onLocationChanged", "Location: " + location.toString()); newCurrentLocation = location; } };
  • 20. Beneficios Integración con aplicaciones desarrolladas con Genexus. Integración con sistemas no Genexus. Reutilización de los objetos Genexus. No requiere inversión en capacitación. Fácil mantenimiento para los clientes. Deploy en varios OS. Seguridad Integrada.
  • 21. La evolución continua Consumerapplications Line of businessapplications
  • 22. La evolución continua Line of businessapplications Displayapplications Transactionapplications
  • 23. Resumen 1 SmartDevices en la actualidad 2 LBA vs CA 3 Necesidades del mercado corporativo 4 Beneficios GxEv2
  • 24. Asesor del pentágono Coronel JhonBoyd “Aquel que gana la batalla no es el más fuerte , ni siquiera el más valiente, es aquel que tiene la mayor capacidad de adaptarse a los cambios”
  • 25.