Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Android - Definir ordem dos elementos .

Estou serializando um objeto no android (Android Studio), mas ao contrario de uma serializaçao em um Java Project normal, no android os elementos ficam ordenados em ordem alfabética.

Ex:

Class classe {
    String c = "c";
    String b = "b";
    String a = "a";
    String d = "d";
}

Saida no projeto java com Eclipse.

<classe>
    <c>c</c>
    <b>b</b>
    <a>a</a>
    <d>d</d>
</classe>

Saida no projeto com Android Studio.

<classe>
    <a>a</a>
    <b>b</b>
    <c>c</c>    
    <d>d</d>
</classe>

Tem alguma forma de definir a ordem dos elementos na serializaçao? Muito obrigado.

2 respostas

Oi Bruno, tudo bem ?

Cara primeira coisa, tem mesmo que ser numa determinada sequencia ? Se sim, você pode escrever o json com a classe JsonStringer

Outra coisa que pode ser é que o conversor pode executar o algoritmo de maneira diferente, talvez voce use o xstream no mundo web e no android o gson, que é bem comum, mas assim, isso não deveria ter nenhum problema.

solução

Olá amigo, obrigado pela resposta.

Então, eu realmente preciso que tenha um determinada sequencia e que seja em XML.

Consegui resolver esse problema utilizando SimpleXML em vez de XStream.

No SimpleXML pode-se definir a ordem dos elementos utilizando annotations.

Mas se for possível, ainda gostaria de saber uma solução com XStream. Muito obrigado.