Bom dia Pessoal, esse é meu primeiro post no forum, então meus cumprimentos a todos, não vou me aprensentar muito por este topico não é para isso, apenas dizer que sou analista de sistemas a 17 anos, da velha guarda ( delphi ) e estou em reciclando com linguagens mobile.
Bem estou com um projeto de aprendizado no android studio e tenho tentado internacionalizar a aplicação usando strings, até aí tudo belezinha.
Minha questão são as datas: Guardo no DB sempre ano/mes/dia, assim o sqlite sabe lidar com ela corretamente, mas quero exibir formatada conforme local.
Tenho usado Simpledateformat, porem encontro situações que não gosto muito, não me parecem a melhor forma.
Descrevendo casos: Como no banco esta yyyy/mm/dd, sempre que vou buscar uso um dateformat para fazer parse para data com a mascara em questão e outro para formatar para visulização, nesta visualização eu gostaria de pegar o formato de um recurso na string que criei para cada linguagem. Aqui temos o primeiro problema, pois as classes que fazem isso não são activity e não tem context, preciso passar o context para minhas classes mesmo, ou existe outra forma?
Outra situação, não quero ficar espalhando as conversões para todo o código, assim estava tentando coloca-las no set e get da minha classe, ou seja sempre que fizer um get, passa de yyyy/mm/dd para formato local, e sempre que fizer um set, passa de local para yyyy/mm/dd.
porém, meu get nem sempre esta pegando do banco, quando em outros momentos em que a data ja foi formatada termos um problema.
A melhor solução que encontrei foi detectar a linguagem selecionada pelo usuario e tratar meu sql com cases, ja retornando do banco formatado como eu quero, sem formatar na aplicação.
Resumundo o que gostaria é, trabalhar com essa formatação da forma mais generica e eficaz possivel, para isso recorro aos mais experientes aqui do forum.
abraço