Your SlideShare is downloading. ×
0
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
097 smart devices-con_las_aplicaciones_de_gestión
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

097 smart devices-con_las_aplicaciones_de_gestión

1,021

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,021
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SmartDevices con las aplicaciones de gestión<br />Alfonso Fernández<br />José Bordón<br />
  • 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. SD vs Pc<br />
  • 4. Wordwidesmartphone sales toendusersbyoperatingsystem (Marquet share in %)<br />Fuente: Gartner (August 2011)<br />
  • 5.
  • 6. Smartdevices<br />Cloud<br />
  • 7. Demo<br />APPs<br />
  • 8. SD/Apps de gestión<br />DBRET<br />Transaction<br />
  • 9. servidores<br />mobile<br />web<br />
  • 10. SD/Apps de gestión<br />
  • 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. 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. 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. difLocInSeconds = getDifInSeconds(location.getTime(), startTime.getTime());<br />}<br />while(location==null //has no location <br />|| (minAccuracy!=0 &amp;&amp; (!location.hasAccuracy() || location.getAccuracy()&gt; minAccuracy)) //has not accuracy   <br />|| difLocInSeconds&gt;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. if (difInSeconds&gt;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. Services.Log.info(&quot;getLocationInfo&quot;, &quot;Location: &quot; + 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. 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(&quot;Location&quot;, String.valueOf(location.getLatitude()) + &quot;,&quot; + String.valueOf(location.getLongitude()) );<br />jsonProperty.put(&quot;Description&quot;, &quot;LocationInfo (&quot; + location.getProvider() + &quot;)&quot;);<br />Date date = new Date();<br />date.setTime(location.getTime());<br />jsonProperty.put(&quot;Time&quot;, Services.Strings.getDateTimeStringForServer(date) );<br />jsonProperty.put(&quot;Precision&quot;, String.valueOf(location.getAccuracy()) );<br />if (location.hasBearing())<br />jsonProperty.put(&quot;Heading&quot;, String.valueOf(location.getBearing()));<br />
  • 18. else<br />jsonProperty.put(&quot;Heading&quot;, String.valueOf(-1));<br />if (location.hasSpeed())<br />jsonProperty.put(&quot;Speed&quot;, String.valueOf(location.getSpeed()));<br />else<br />jsonProperty.put(&quot;Speed&quot;, String.valueOf(-1));<br />} catch (JSONException e) {<br />e.printStackTrace();<br />Services.Log.Error(&quot;locationToJson&quot;, &quot;Exception in JSONObject.put()&quot;, e); <br />}<br />return jsonProperty;<br />}<br />public static String getLocationString(Location myLocation)<br />{<br />if (myLocation!=null)<br />return String.valueOf(myLocation.getLatitude()) + &quot;,&quot; + String.valueOf(myLocation.getLongitude() );<br />return &quot;&quot;;<br />}<br />private static final LocationListenerlocationListener = new LocationListener() {<br />@Override<br />public void onStatusChanged(String provider, int status, Bundle extras) {<br />
  • 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(&quot;onLocationChanged&quot;, &quot;Location: &quot; + location.toString());<br />newCurrentLocation = location;<br />}<br />};<br />
  • 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. La evolución continua<br />Consumerapplications<br />Line of businessapplications<br />
  • 22. La evolución continua<br />Line of businessapplications<br />Displayapplications<br />Transactionapplications<br />
  • 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. 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.
  • 26. Alfonso Fernándezfernandez.laconich@gmail.comJosé Bordónjbordon@sisa.com.py<br />

×