xml construtor / analisador no Android fluxo alinhada?
Pergunta
Estou aprendendo a Android api
de um livro, e parece que não há qualquer menção de um stream-lined api
para lidar com raw xml
(leitura e escrevendo). Sua sugestão para análise é a XmlPullParser
, e os seus exemplos olhar horrendo considerando o tipo de api's
estou muito bem tratados pelo em outras plataformas (LINQ to XML
especialmente).
Esta é a melhor técnica disponível no Android platform
?
Obviamente, eu posso escrever um wrapper para evitar o material repetitivo, mas eu ficaria surpreso se existe tal coisa já existe.
Além disso, ele nem sequer fazer menção de criar xml structures
no código. Quais são as minhas opções para ambos?
Em uma nota lateral, fazer qualquer devs Java
que estão familiarizados com LINQ to XML in .Net
sei de nada equivalente em Java?
Solução
Uma vez que você provavelmente não quer carregar quaisquer DOM tamanho substanciais na memória do Android - tração e analisadores SAX são a forma preferida lidar com XML em Android. Eu acho que vale a pena investir em compreender como funciona SAX e escrever um manipulador personalizado de confiar em algumas bibliotecas genéricas que podem ser incompatíveis ou overbloated. I XML de análise em meus aplicativos usando SAX o tempo todo e eu estou muito satisfeito com a velocidade (na maioria das vezes)
Outras dicas
Bem, eu sou muito novo para Java, mas aqui é o que eu adquirida até agora sobre análise XML on Android:
A abordagem XmlPullParser é recomendado para Android devido a limitações de recursos. Há um parser DOM disponível em Android, que iria deixá-lo usar XPath para navegar um documento XML. Usando os meios DOM que você tem que carregar todo o documento para a memória de uma só vez, no entanto. O método XmlPullParser é muito mais eficiente em termos de memória utilizado.
O método XmlPullParser leva um pouco de tempo para se acostumar depois de estar confortável com LINQ to XML ou XPath, mas não é realmente muito ruim IMHO (pelo menos com os documentos que eu estava Análise). Se você estiver trabalhando com documentos XML pequenos você poderia certamente usar o DOM com o XPath.
Há um artigo decente sobre os diferentes métodos para ler e escrever XML com Android aqui: http://www.ibm.com/developerworks/opensource/ biblioteca / x-android / index.html
Eu tive os mesmos problemas com análise de XML ou XHTML e acabou escrevendo um webservice fazendo isso por mim.
Android Device ->(Request URL) -> Webservice Get and Parse -
-> (Data) -> Android Device
Você pode transmitir os dados em JSON para trabalhar com ele no dispositivo. A vantagem disso é que você pode minimizar o tráfego na rede móvel lento e mudar a análise sem lançar um novo aplicativo android.
Talvez este é vai trabalhar para você também.
relação