elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:23  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Android (Descomprimir String GZIP que viene de Webservice .NET)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Android (Descomprimir String GZIP que viene de Webservice .NET)  (Leído 2,283 veces)
seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Android (Descomprimir String GZIP que viene de Webservice .NET)
« en: 24 Noviembre 2010, 00:27 »

Hola, tengo un problemita, es bien simple el planteo asi que se los cuento rapido por pasos asi se entiende.

1 - Desde un webservice de .NET 2008 (vb), tengo un metodo que devuelve un array de bytes, este array de bytes en realidad es un string ("Hola Mundo") comprimido con la Clase GZipStream de System.IO.Compression.

2 - El metodo devuelve el string "Hola Mundo" comprimido, y esto es lo que el webservice retorna:

Código
<base64Binary>
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir5dlVn6xXo5q/4f0m5DIgoAAAA=
</base64Binary>

3 - si hago una prueba desde una aplicación de visual basic .NET que ejecute este metodo me retorne ese string y lo Descomprima con otra funcion que tengo, me trae bien el Hola Mundo....

4 - Desde Android (Eclipse) ya he logrado hacer la peticion y que me traiga el string anterior...pero no sabria como hacer para Descomprimirlo y que me muestre Hola Mundo...

5 - ya he probado varios codigos de la web, pero ninguno funciona.

alguien sabe algo de esto ? muchas gracias desde ya.

Saludos.


En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Re: Android (Descomprimir String GZIP que viene de Webservice .NET)
« Respuesta #1 en: 26 Noviembre 2010, 02:08 »

tema solucionado, pueden cerrar el tema.


En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
kasiko

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: Android (Descomprimir String GZIP que viene de Webservice .NET)
« Respuesta #2 en: 27 Noviembre 2010, 16:03 »

Hola, puede poner como llegaste a la solucion?
En línea

Nos vemos...

Debci
Moderador
***
Desconectado Desconectado

Mensajes: 1.945


Actualizate o muere!


Ver Perfil WWW
Re: Android (Descomprimir String GZIP que viene de Webservice .NET)
« Respuesta #3 en: 27 Noviembre 2010, 21:13 »

Se trata de eso... como es posible que alguien mas coincida en la duda y no tiene solución lo dejo abierto.

Saludos
En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.213



Ver Perfil WWW
Re: Android (Descomprimir String GZIP que viene de Webservice .NET)
« Respuesta #4 en: 28 Noviembre 2010, 01:47 »

bueno encontre 2 soluciones, use la segunda porque era la mas rapida.

1 - decodificar esa cadena (que viene codificada en base64), y luego descomprimirla con la clase de GZIP que viene con java.

2 - estuve buscando varias clases para decodificar el base64 en java, hay mas lentas y mas rapidas, pero la mejor que encontre es esta:

http://iharder.sourceforge.net/current/java/base64/

aparte de ser rapida, no tenes que estar descomprimiendo la cadena con el GZIP de java, ya que internamente la clase detecta la compresion y te la descomprime...o sea que en una linea de codigo solucione todo.

saludos.
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines