entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Crear un archivo de configuracion con java al iniciar la aplicacion

la ide es crear un archivo de configuracion al momento de inciar la aplicacion donde guarde la fecha y pueda ser compara cadaves que se buelva a ejecutar, la fecha no deve de pasarce de los 30 dias desde que se abrio la aplicacion. les agradeceria muchos. saludos.

0voto

nachito777sk comentado

Lo que quieres decir es que cada vez que se abra la aplicación, haya un archivo que verifique que no hace más de 30 días que se ha abierto la aplicación.....????

0voto

codeando comentado

exacto asi para que cuando yege al tope de 30 dias la aplicacion ya no se pueda abrir.

1 Respuesta

2votos

white Puntos75880

Dispones de un servidor con una base de datos? lo que sucede es que el archivo creado sería en bano si no guardas en la nube la fecha de inicio y un id unico que represente al receptor.


Sino dispones de un servidor podrias hacer algo simple para el trial:

public class TrialApp {

    private Calendar initialDate;
    private boolean expired = false;

    public TrialApp(Calendar initialDate)
    {
        this.initialDate = initialDate;
        Calendar now = getCurrentDate();

        long initialTime = initialDate.getTime().getTime();
        long nowTime = now.getTime().getTime();

        int diffDays = (int) ((nowTime - initialTime) / (1000 * 60 * 60 * 24));

        if(diffDays >= 30 || diffDays <= -30)
            expired = true;

        System.out.println(diffDays);
    }

    private Calendar getCurrentDate()
    {
        Calendar now = Calendar.getInstance();

        try
        {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

            URL timeapi = new URL("http://www.timeapi.org/utc/now?\\Y-\\m-\\d");
            URLConnection yc = timeapi.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
            String apiDate = in.readLine();
            in.close();

            now.setTime(format.parse(apiDate));
        }
        catch(Exception e){};

        return now;
    }

    public boolean isExpired()
    {
        return expired;
    }
}

public static void main(String[] args)
{
    Calendar initialDate = Calendar.getInstance();

    // definimos la fecha de inicio de nuestro programa (Y, m, d)
    initialDate.set(2015, Calendar.MARCH, 17);

    TrialApp trial = new TrialApp(initialDate);

    if( trial.isExpired() )
    {
        System.out.println("programa expirado!");
        // hacemos algo para el programa expirado
    }

    // continuamos con nuestro programa
}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta