Como compactar informações

Uma ajuda por favor, eu dou manutenção em uma aplicação que roda em um palm zire 22, e que recebe informações de uma pagina PHP, o problema é que devido a quantidade de informações enviadas a conexão está caindo muito (eu acho que o motivo é esse).

E me mandaram ver se é possível mandar as informações compactadas.

Tem como fazer isso?

Como é que a página PHP manda as informações para você? É necessário adaptar a página e seu aplicativo. Provavelmente você não poderá mandar as informações zipadas (comprimidas), portanto você terá só de remover espaços e coisas redundantes. Por exemplo, se a página manda a informação em XML, talvez você tenha de usar um formato mais simples.

O que ele me retorno é uma string como essa;

1908;1688;#1915;-101;#1924;-1;#1931;-5;#@4|21/12/2007@

Cada informação do registro vem separada por ponto e virgula, e cada registro vem separado por charp, no final vem a
quantidade de registros e a data.

Só que dependendo do intervalo de tempo que são geradas as atualizações podem vir 1500 registros bem maiores que este, ai onde vem o problema .

Oi Lelio, você tem uma biblioteca gzip/Gunzip que rode no Zire? Se tiver, você pode compactar do lado PHP e descompactar do Zire.

Outra opção é “paginar” o envio. Mande blocos de 200 registros, e termine com um valor especial que avise o receptor que tem que fazer uma nova conexão. Assim, mesmo que a conexão caia, você não perde tudo nem tem que começar do zero de novo.

Não sei s expressei mal ou eu não lhe entendi,

As informações não vem em arquivo, a página PHP é solicitada e retorna as informações impressas na tela (usando um “echo”) ,
ele captura essas informações(que é uma string) e a trata depois as armazena.

A questão da paginação já foi feita um similar.

Então este gzip/Gunzip pode descompactar a string no código java?

Ou isso e um programa externo como o winrar?

Obrigado pela ajuda.

O que o Rubinelli lhe sugeriu é que investigue se na sua versão do Java que roda no Palm há as classes do pacote java.util.zip. Uma delas (ZipInputStream GZipInputStream) pode ser usada para descompactar os dados que porventura venham compactados da página PHP.

Verifiquei e não tem não.

O que eu não entendi é, se uma página PHP pode compactar uma string?