Java tutorial
/* * Copyright 2014 Cristiam Mercado. * * Esta obra est licenciada bajo la Licencia: * Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional. * * Para ver una copia de esta licencia, visita: * http://creativecommons.org/licenses/by-nc-nd/4.0/. */ package com.cmsoftware.keyron.controlador; import com.cmsoftware.keyron.modelo.Actualizacion; import com.cmsoftware.keyron.modelo.Empleado; import java.net.URLEncoder; import org.json.JSONObject; /** * * @author Cristiam Mercado cristiammercadoj@gmail.com * @version 1.0 */ public class AplicacionFunciones { /** * Instancia de la clase parser de Json. */ private final Json json; /** * URL del servicio web de actualizaciones. */ private static final String ACCESO_URL_APLICACION = "http://dev.keyron.hol.es/Servicios/aplicacion.php"; /** * Variable post para la accion de chequear version. */ private static final String ACCION_CHEQUEAR = "chequear"; /** * Variable post para la accion de contacto con soporte. */ private static final String ACCION_CONTACTO = "contacto"; /** * Constructor de la clase AplicacionFunciones. */ public AplicacionFunciones() { json = new Json(); } /** * Chequea si hay una versin mas reciente de la aplicacin. * * @return Cdigo de respuesta del web service. */ public int chequearVersion() { String parametros; try { parametros = "accion=" + URLEncoder.encode(ACCION_CHEQUEAR, "UTF-8") + "&version=" + URLEncoder.encode(Configuracion.getInstancia().getVersion() + "", "UTF-8") + "&plataforma=" + URLEncoder.encode("windows", "UTF-8"); JSONObject respuesta = json.getRespuestaAPI(ACCESO_URL_APLICACION, parametros); int key_error = respuesta.getInt("error"); if (key_error == 0) { JSONObject update = respuesta.getJSONObject("actualizacion"); Actualizacion actualizacion = new Actualizacion(); actualizacion.setVersion(update.getInt("version")); actualizacion.setPlataforma(update.getString("plataforma")); actualizacion.setFecha(update.getString("fecha")); actualizacion.setLink(update.getString("enlace")); actualizacion.setDescripcion(update.getString("descripcion")); actualizacion.setTamano(update.getLong("tamano")); Optimizacion.getInstancia().setActualizacion(actualizacion); } return key_error; } catch (Exception e) { System.err.println("ERROR AplicacionFunciones:79 -> " + e.toString()); Log.agregarError(e); return -1; } } /** * Envia el mensaje de soporte a la plataforma web para su procesamiento. * * @param empleado Empleado remitente. * @param asunto Asunto del mensaje. * @param mensaje Texto del mensaje * @return Cdigo de respuesta del web service. */ public int contactoSoporte(Empleado empleado, String asunto, String mensaje) { String parametros; try { parametros = "accion=" + URLEncoder.encode(ACCION_CONTACTO, "UTF-8") + "&nombre=" + URLEncoder.encode(empleado.getNombre() + " " + empleado.getApellido(), "UTF-8") + "&correo=" + URLEncoder.encode(empleado.getCorreo(), "UTF-8") + "&asunto=" + URLEncoder.encode(asunto, "UTF-8") + "&mensaje=" + URLEncoder.encode(mensaje, "UTF-8"); JSONObject respuesta = json.getRespuestaAPI(ACCESO_URL_APLICACION, parametros); int key_error = respuesta.getInt("error"); return key_error; } catch (Exception e) { System.err.println("ERROR AplicacionFunciones:107 -> " + e.toString()); Log.agregarError(e); return -1; } } /** * Verifica las actualizaciones del programa acorde a la configuracin * establecida. * * @return true si hay actualizacin disponible de acuerdo a la * configuracin, false en caso contrario. */ public boolean verificarActualizacion() { if (Configuracion.getInstancia().isActualizar()) { return chequearVersion() == 0; } else { return false; } } }