SmartDevices con las aplicaciones de gestión<br />Alfonso Fernández<br />José Bordón<br />
Agenda<br />1<br />SmartDevices y la actualidad<br />2<br />Presentación de GXEv2 a los clientes<br />3<br />Integración d...
SD vs Pc<br />
Wordwidesmartphone sales toendusersbyoperatingsystem (Marquet share in %)<br />Fuente: Gartner  (August 2011)<br />
Smartdevices<br />Cloud<br />
Demo<br />APPs<br />
SD/Apps de gestión<br />DBRET<br />Transaction<br />
servidores<br />mobile<br />web<br />
SD/Apps de gestión<br />
Geolocation<br />public static Location getLastKnownLocation()<br />{<br />LocationManageraLocationManager = (LocationMana...
return null;<br />}<br />private static Location getLastLocation(Location gpsLocation,<br />Location networkLocation) {<br...
LocationManagerlocationManager = (LocationManager) MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE);...
difLocInSeconds = getDifInSeconds(location.getTime(), startTime.getTime());<br />}<br />while(location==null //has no loca...
if (difInSeconds>timeout)<br />{<br />break;<br />}<br />}<br />//default to return<br />if(location==null)<br />location ...
Services.Log.info("getLocationInfo", "Location: " + location.toString());<br />}<br />return result;<br />}<br />private s...
Criteria crit = new Criteria();<br />crit.setAccuracy(Criteria.ACCURACY_FINE);<br />crit.setAltitudeRequired(false);<br />...
else<br />jsonProperty.put("Heading", String.valueOf(-1));<br />if (location.hasSpeed())<br />jsonProperty.put("Speed", St...
}<br />@Override<br />public void onProviderEnabled(String provider) {<br />}<br />@Override<br />public void onProviderDi...
Beneficios<br />Integración con aplicaciones desarrolladas con Genexus.<br />Integración con sistemas no Genexus.<br />Reu...
La evolución continua<br />Consumerapplications<br />Line of businessapplications<br />
La evolución continua<br />Line of businessapplications<br />Displayapplications<br />Transactionapplications<br />
Resumen<br />1<br />SmartDevices en la actualidad<br />2<br />LBA vs CA<br />3<br />Necesidades del mercado corporativo<br...
Asesor del pentágono<br />Coronel JhonBoyd<br />“Aquel que gana la batalla no es el más fuerte , ni siquiera el más valien...
Alfonso Fernándezfernandez.laconich@gmail.comJosé Bordónjbordon@sisa.com.py<br />
Upcoming SlideShare
Loading in...5
×

097 smart devices-con_las_aplicaciones_de_gestión

1,035

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,035
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

097 smart devices-con_las_aplicaciones_de_gestión

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

    Clipping is a handy way to collect important slides you want to go back to later.

×