[Desserializar Objeto] - expected receiver of type java.util.TimeZone, but got null

Oi,

Tenho o código:

new ObjectInputStream ( ab_uncompress ? (InputStream) new InflaterInputStream(ao_is_object) : ao_is_object ).readObject();

E obtenho essa exceção:

09-13 17:18:15.178: W/System.err(4760): java.lang.NullPointerException: expected receiver of type java.util.TimeZone, but got null 09-13 17:18:15.188: W/System.err(4760): at java.lang.reflect.Field.setField(Native Method) 09-13 17:18:15.188: W/System.err(4760): at java.lang.reflect.Field.set(Field.java:588) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1151) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1249) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readContent(ObjectInputStream.java:733) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.discardData(ObjectInputStream.java:662) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1372) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.188: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.198: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.208: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readNewArray(ObjectInputStream.java:1512) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:785) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.218: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.228: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNewArray(ObjectInputStream.java:1512) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:785) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1851) 09-13 17:18:15.238: W/System.err(4760): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 09-13 17:18:15.248: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999) 09-13 17:18:15.248: W/System.err(4760): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956)

Como devo proceder ?

Tchauzin!

posta a classe toda, e que vai fazer essa app ?

Oi,

Essa app tenta desserializar um objeto do JDK.

Queria saber onde posso encontrar o source code do Android 4.0.3 para conseguir visualizar no Eclipse a classe ObjectInputStream.

Alguém sabe onde encontra-lo?

Tchauzin!

Oi,

Já descobri o motivo do Exception. Estou desserializando um objeto Date do Android-Sdk para o JDK e não funciona.

Observei que as classes são totalmente diferentes. Alguém tem alguma sugestão?

Tchauzin!

Lina, a titulo de curiosidade (e quem sabe talvez dar alguma dica para resolver o seu problema), por que você está serializando um objeto Date no Android e enviando para uma JVM? Qual o mecanismo de “transferencia” deste objeto você está usando?

Eu já tive problemas de desserializar objeto do tipo “Date”, entre versão diferentes de JVM. Por estas experiências, eu não recomendo serializar este tipo de objeto.

Oi,

Vamos ver se eu consigo dar um exemplo sem postar o meu código.

Eu tenho essa classe em ambas JVM:

[code]public class TipoDate implements Serializable
{
public Date id_teste;

public TipoDate(Date ad_teste) {

  id_teste = ad_teste;

}
}[/code]

Numa outra classe dentro do JDK eu alimento essa estrutura e a gravo em arquivo, por meio deste método:

[code]try
{
FileOutputStream
lo_os_file = new FileOutputStream(as_filename);

        	ObjectOutputStream
        	lo_oo_object;
        	
                try
                {    
               		lo_oo_object		=	new ObjectOutputStream
               						(
               							ab_deflat 
	               							?	(OutputStream) new DeflaterOutputStream(lo_os_file)
	               							:	(OutputStream) lo_os_file
               						);
                	lo_oo_object.writeObject(ao_object);
                	lo_oo_object.close();
                }
                
                finally
		{
                	lo_os_file.close();
                }
      	}
      	
      	catch	(FileNotFoundException	ex)
      	{
      		throw	ex;
      	}
      	
      	catch	(IOException		ex)
      	{
      		throw	ex;
      	}[/code]

Então, dentro de minha aplicação Android, busco o arquivo e jogo para dentro da estrutura TipoDate:

[code] Object
lo_object = null;

    	try
    	{	        	
        	FileInputStream
		lo_ips_file		=	new FileInputStream(as_filename);

        	ObjectInputStream
        	lo_ips_object;

        	try
        	{
        		lo_ips_object		=	new ObjectInputStream
        						(
        							ab_inflat
	        							?	(InputStream) new InflaterInputStream(lo_ips_file)
	        							:	lo_ips_file
        						);
	        	lo_object		=	lo_ips_object.readObject(); //AQUI OCORRE O PROBLEMA.
	        	lo_ips_object.close();
        	}
        
        	finally
        	{
        		lo_ips_file.close();
        	}
    	}
      	
      	catch	(FileNotFoundException	ex)
      	{
      		throw	ex;
      	}
      	
      	catch	(IOException		ex)
      	{
      		ex.printStackTrace();
      		throw	ex;
      	}

TipoDate teste = (TipoDate)lo_object;[/code]

Tchauzin!

Lina, minha dúvida não era em termos de código, mas por que você precisa cominicar via classes serializadas. Por experiências passadas, serializar objetos de classes “nativas” da JVM não é uma boa idéia, principalmente se for persistir em arquivos. Eu tentaria implementar esta “comunicação” como se estivesse usando RMI: criaria uma “classe de transporte”, tipo um TO, que seria baseada apenas em tipos primitivos. Ou usar uma mensagem em XML.

Oi,

Sim. Eu sei disso. Só que essa minha aplicação já funciona assim entre JDK -> JDK. Estou portando para JDK -> Android e quero deixa-lo assim sem modificar muito.

Quando eu tento fazer o inverso, desserializar um objeto Date de Android-SDK para JDK, apresenta a exceção:

5/09 09:16:13 - Fail receiving object: libcore.util.ZoneInfo 25/09 09:16:13 - at java.net.URLClassLoader$1.run(Unknown Source) 25/09 09:16:13 - at java.security.AccessController.doPrivileged(Native Method) 25/09 09:16:13 - at java.net.URLClassLoader.findClass(Unknown Source) 25/09 09:16:13 - at java.lang.ClassLoader.loadClass(Unknown Source) 25/09 09:16:13 - at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 25/09 09:16:13 - at java.lang.ClassLoader.loadClass(Unknown Source) 25/09 09:16:13 - at java.lang.Class.forName0(Native Method) 25/09 09:16:13 - at java.lang.Class.forName(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.resolveClass(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readClassDesc(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadObject(Unknown Source) 25/09 09:16:13 - at java.util.Calendar.readObject(Unknown Source) 25/09 09:16:13 - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 25/09 09:16:13 - at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 25/09 09:16:13 - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 25/09 09:16:13 - at java.lang.reflect.Method.invoke(Unknown Source) 25/09 09:16:13 - at java.io.ObjectStreamClass.invokeReadObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readArray(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readSerialData(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject0(Unknown Source) 25/09 09:16:13 - at java.io.ObjectInputStream.readObject(Unknown Source)

Tchauzin!

Sinto muito, mas não consigo enxergar uma solução simples para o seu problema (mas também não tenho grandes experiências com serialização de objetos).
Uma solução “maluca” que eu pensei, seria manipular o arquivo gerado, alterando a classe Date da JVM para classe Date do Android. Pensei em uma ferramenta que nem o ASM, mas não sei se é possível fazer isto. Sorry.

[quote=oyama]Sinto muito, mas não consigo enxergar uma solução simples para o seu problema (mas também não tenho grandes experiências com serialização de objetos).
Uma solução “maluca” que eu pensei, seria manipular o arquivo gerado, alterando a classe Date da JVM para classe Date do Android. Pensei em uma ferramenta que nem o ASM, mas não sei se é possível fazer isto. Sorry.[/quote]

Oi,

Interessante :wink:

Obrigado pela força!

Tchauzin!

lina,

se o objetivo é apenas passar do android para um servidor (ou o contrário) ao invés de serializar o objeto Date, converte para Long (com o getTime) e serializa o Long passa para a outra ponta e recrie o objeto Date

[quote=aechiara]lina,

se o objetivo é apenas passar do android para um servidor (ou o contrário) ao invés de serializar o objeto Date, converte para Long (com o getTime) e serializa o Long passa para a outra ponta e recrie o objeto Date[/quote]

Oi,

Realmente. É uma saida, a questão é que não estamos falando de apenas 1 variável do tipo Date e sim ‘N’ variáveis.

Vou pensar numa solução e posto quando possível!

Tchauzin!

Oi,

Caracas. Tentei passar um objeto LONG e transforma-lo no outro lado (Android-SDK -> JDK) e apresentou o mesmo exception:

25/09 11:32:21 - Fail receiving object: libcore.util.ZoneInfo 25/09 11:32:21 - at java.net.URLClassLoader$1.run(Unknown Source) 25/09 11:32:21 - at java.security.AccessController.doPrivileged(Native Method) 25/09 11:32:21 - at java.net.URLClassLoader.findClass(Unknown Source) 25/09 11:32:21 - at java.lang.ClassLoader.loadClass(Unknown Source) 25/09 11:32:21 - at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

Tchauzin!

lina,

só para tirar uma duvida, String ou Bytes vão corretamente ?

Esse erro acontece no Android ou no Server ?

[quote=lina]Oi,

Caracas. Tentei passar um objeto LONG e transforma-lo no outro lado (Android-SDK -> JDK) e apresentou o mesmo exception:

25/09 11:32:21 - Fail receiving object: libcore.util.ZoneInfo 25/09 11:32:21 - at java.net.URLClassLoader$1.run(Unknown Source) 25/09 11:32:21 - at java.security.AccessController.doPrivileged(Native Method) 25/09 11:32:21 - at java.net.URLClassLoader.findClass(Unknown Source) 25/09 11:32:21 - at java.lang.ClassLoader.loadClass(Unknown Source) 25/09 11:32:21 - at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

Tchauzin!
[/quote]

[quote=aechiara]lina,

só para tirar uma duvida, String ou Bytes vão corretamente ?

Esse erro acontece no Android ou no Server ?

[quote=lina]Oi,

Caracas. Tentei passar um objeto LONG e transforma-lo no outro lado (Android-SDK -> JDK) e apresentou o mesmo exception:

25/09 11:32:21 - Fail receiving object: libcore.util.ZoneInfo 25/09 11:32:21 - at java.net.URLClassLoader$1.run(Unknown Source) 25/09 11:32:21 - at java.security.AccessController.doPrivileged(Native Method) 25/09 11:32:21 - at java.net.URLClassLoader.findClass(Unknown Source) 25/09 11:32:21 - at java.lang.ClassLoader.loadClass(Unknown Source) 25/09 11:32:21 - at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

Tchauzin!
[/quote][/quote]

Oi,

Sim. String e Byte vão corretamente.

O erro acima está acontecendo no servidor…

Tchauzin!

duas coisas me vem a cabeça

  1. as classes que vc está Serializando e Des-Serializando estão no mesmo pacote tanto no servidor quanto no cliente, certo ?

  2. como esses dados vão do Android para o Servidor ? Se for via Socket não tem muito o que fazer, mas se for via json ou soap ou alguma outra coisa
    tem alguns frameworks que podem ajudar

de qualquer forma eu tentaria fazer alguma coisa com XML ou json se possível

lina, eu olhei novamente a sua primeira mensagem e não vi a Exception que foi lançada

nem sinal das Exceptions classícas de serialização:

ou algo parecido ?

Oi,

[quote=aechiara]duas coisas me vem a cabeça

  1. as classes que vc está Serializando e Des-Serializando estão no mesmo pacote tanto no servidor quanto no cliente, certo ?
    [/quote]

Sim. Estão no mesmo pacote.

Via Socket mesmo.

Tchauzin!

[quote=aechiara]lina, eu olhei novamente a sua primeira mensagem e não vi a Exception que foi lançada

nem sinal das Exceptions classícas de serialização:

ou algo parecido ?[/quote]

Oi,

Nada. Apenas isso.

Tchauzin!