Olá. Eu fiz uma outra aplicação que possui atributo do tipo Date e estou tendo problemas de sincronização envolvendo datas, o servidor sempre retorna para a aplicação android uma data com um dia de atraso.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá. Eu fiz uma outra aplicação que possui atributo do tipo Date e estou tendo problemas de sincronização envolvendo datas, o servidor sempre retorna para a aplicação android uma data com um dia de atraso.
Oi Edilva, tudo bem?
Provavelmente o problema está na configuração de timezone do servidor. Você está desenvolvendo o servidor em qual ambiente? Cada linguagem vai ter uma maneira diferente para configurar.
[]s
Java.
Então dá pra tentar o exemplo que o pessoal comentou no Guj. Um rapaz fez a seguinte amostra que aparentemente funcionou:
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;
public class Teste {
public static void main(String[] args) {
TimeZone tz = TimeZone.getTimeZone("America/Sao_Paulo");
TimeZone.setDefault(tz);
Calendar ca = GregorianCalendar.getInstance(tz);
System.out.println (ca.getTime());
}
}
Alex, na verdade o que estava acontecendo era que a aplicação android enviava o objeto que possui atributos do tipo Date, quando chegava no servidor a data era salva com um dia de atraso, e quando o servidor retornava o objeto para a sincronização no app android a data era salva com mais um dia de atraso. Por exemplo, a data salva no app android é 10/10/2019, no servidor ficava 09/10/2019, e o servidor retornava para o app android a data 08/10/2019. Na aplicação servidor eu coloquei a seguinte linha de código: "TimeZone.setDefault(TimeZone.getTimeZone("America/Sao_Paulo"));" . Dessa forma a data chegava certa no servidor, mas quando o servidor envia para o android, ainda continua enviando a data com um dia de atraso.