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

Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Dipal Arora
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Abortion pills in Kuwait Cytotec pills in Kuwait
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
Renandantas16
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
lizamodels9
 

Recently uploaded (20)

Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 

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.