![Page 1: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/1.jpg)
Smart Devices con las aplicaciones de gestiónAlfonso FernándezJosé Bordón
![Page 2: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/2.jpg)
Agenda
Smart Devices y la actualidad1
Presentación de GXEv2 a los clientes2
Integración de GXEv2 con las aplicaciones3
Beneficios4
![Page 3: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/3.jpg)
SD vs Pc
Ventas en el T4 2010 (millones)86
88
90
92
94
96
98
100
102
SmartPhonesPCs
Fuente: Consultora IDC
![Page 4: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/4.jpg)
Wordwide smartphone sales to end users by operating system (Marquet share in %)
Android IOS Symbian Research in Motion
Bada Microsoft0
5
10
15
20
25
30
35
40
45
50
Cantidad vendida: 107,8 mill
2Q112Q10
Fuente: Gartner (August 2011)
![Page 5: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/5.jpg)
![Page 6: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/6.jpg)
Smart devices
Cloud
![Page 7: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/7.jpg)
DEMOAPPs
![Page 8: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/8.jpg)
SD/Apps de gestión
DBRET
Transaction
![Page 9: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/9.jpg)
mobile
web
servidores
![Page 10: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/10.jpg)
SD/Apps de gestión
![Page 11: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/11.jpg)
Geolocationpublic static Location getLastKnownLocation(){LocationManager aLocationManager = (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;}}
![Page 12: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/12.jpg)
return null;}private static Location getLastLocation(Location gpsLocation,Location networkLocation) {if (gpsLocation!=null)return gpsLocation;return networkLocation;}
public static JSONObject getLastKnownLocationJsonGeoLocationInfo(){Location location = getLastKnownLocation();JSONObject result = new JSONObject();if (location!=null)result = locationToJson(location);return result;}public static void requestLocationUpdates(Integer minAccuracy, Integer timeout, boolean
includeHeadingAndSpeed){
![Page 13: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/13.jpg)
LocationManager locationManager = (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, boolean
includeHeadingAndSpeed){//Date startTime = new Date();//default to returnLocation location = null;LocationManager locationManager = (LocationManager)
MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE);String provider = getBestProviderFromCriteria(includeHeadingAndSpeed,locationManager);location = locationManager.getLastKnownLocation(provider);long difLocInSeconds = 0;if (location!=null){
![Page 14: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/14.jpg)
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 arrivetry {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}if (newCurrentLocation!=null){location = newCurrentLocation;difLocInSeconds = 0;}Date endTime = new Date();long difInSeconds = getDifInSeconds(startTime.getTime(), endTime.getTime());
![Page 15: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/15.jpg)
if (difInSeconds>timeout){break;}}//default to returnif(location==null)location = getLastKnownLocation();return location;}
public static JSONObject getLocationJsonGeoLocationInfo(Integer minAccuracy, Integer timeout, boolean includeHeadingAndSpeed)
{Location location = getLocationGeoLocationInfo(minAccuracy, timeout, includeHeadingAndSpeed);//return resultJSONObject result = new JSONObject();if (location!=null){result = locationToJson(location);
![Page 16: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/16.jpg)
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, boolean
includeHeadingAndSpeed){LocationManager locationManager = (LocationManager)
MyApplication.getInstance().getSystemService(Context.LOCATION_SERVICE);locationManager.removeUpdates( locationListener);}private static String getBestProviderFromCriteria(boolean includeHeadingAndSpeed, LocationManager locationManager) {//Calculate new location with the criteria.
![Page 17: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/17.jpg)
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 JSONObject locationToJson(Location location) {JSONObject jsonProperty = 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()));
![Page 18: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/18.jpg)
elsejsonProperty.put("Heading", String.valueOf(-1));if (location.hasSpeed())jsonProperty.put("Speed", String.valueOf(location.getSpeed()));elsejsonProperty.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 LocationListener locationListener = new LocationListener() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {
![Page 19: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/19.jpg)
}@Overridepublic void onProviderEnabled(String provider) {}@Overridepublic void onProviderDisabled(String provider) {}@Overridepublic void onLocationChanged(Location location) {//update my locationServices.Log.info("onLocationChanged", "Location: " + location.toString());newCurrentLocation = location;}};
![Page 20: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/20.jpg)
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.
![Page 21: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/21.jpg)
La evolución continua
Line of business applications
Consumerapplications
![Page 22: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/22.jpg)
La evolución continua
Line of business applications Display applications
Transaction applications
![Page 23: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/23.jpg)
Resumen
Smart Devices en la actualidad1
LBA vs CA2Necesidades del
mercado corporativo3Beneficios GxEv24
![Page 24: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/24.jpg)
Asesor del pentágonoCoronel Jhon Boyd
“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”
![Page 25: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/25.jpg)
![Page 26: 097 smart devices-con_las_aplicaciones_de_gestión](https://reader036.vdocuments.pub/reader036/viewer/2022081720/54b686434a7959601b8b4582/html5/thumbnails/26.jpg)
Alfonso Ferná[email protected]é Bordó[email protected]