Armazenando hora e data com seus formatos respectivos em RMS

13/08/2008

1

Boa Noite a todos.

Estou tendo uma dificuldade incrivel em mostrar na tela do dispositivo, a hora e a data da forma correta. O problema maior é que quero armazenar no rms a data e a hora correta e não estou conseguindo.

ai vai parte do código

Calendar cal = Calendar.getInstance();

                cal.setTime(new Date(InsereData.getDate().getTime()));
                cal.setTime(new Date(InsereHora.getDate().getTime()));

                int ano = cal.get(Calendar.YEAR);
                int mes = cal.get(Calendar.MONTH) + 1;
                int dia = cal.get(Calendar.DAY_OF_MONTH);

                int h = cal.get(Calendar.HOUR_OF_DAY);
                int m = cal.get(Calendar.MINUTE);
                int s = cal.get(Calendar.SECOND);

                System.out.println("" + (dia < 10 ? "0" + dia : "" + dia) + "/" + (mes < 10 ? "0" + mes : "" + mes) + "/" + ano);
                System.out.println("" + (h < 10 ? "0" : "") + h + ":" + (m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s);

                data = ("" + (dia < 10 ? "0" + dia : "" + dia) + "/" + (mes < 10 ? "0" + mes : "" + mes) + "/" + ano);
                hora = ("" + (h < 10 ? "0" : "") + h + ":" + (m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s);

                registro = new Registro(InsereMedida.getString(), data, hora);
                RegistroDB.addRegistro(registro);


Agora no outro arquivo acontece:

public static void addRegistro(Registro registro) {
        byte[] completo = mergeRegistro(registro).getBytes();
        try {
            openDatabase();
            rs.addRecord(completo, 0, completo.length);
            closeDatabase();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }



Ai quando quero ver na tela o dia e a hora q foi gravado o registro aparecem aquela string enorme

else if (displayable == VisualizaRegistros) {
            if (command == anterior_VisuRegis) {
                // write pre-action user code here              
                if (registroAtual > 1) {
                    registroAtual--;
                    numRegis.setText(registroAtual + "/" + String.valueOf(RegistroDB.getNumeroRegistro()));
                    registro = RegistroDB.getRegistro(registroAtual);
                    VisualizaMedida.setText(registro.getMedida());
                    VisualizaData.setText(registro.getData());
                    VisualizaHora.setText(registro.getHora());
                }
 
            // write post-action user code here
            } 



Quando eu salvo, mando imprimir no console e aprece

01/01/1970
22:07:00


Quando mando visualizar na tela no dispositivo:

javax.microedition.lcdui.DateField@1cb37664
javax.microedition.lcdui.DateField@f828ed68


Como resolver isto? Eu quero que seja gravado no RMS o formato 00/00/00 e 00:00:00... para que quando eu mande exibir na tela, apareça desta forma...

alguma ajuda???

Obrigada.


Responder