在Intent / Bundle中可序列化无法正常工作

时间:2016-01-13 08:37:46

标签: android android-intent serialization

我将模型移动到外部依赖项,因此我可以在服务器和其他部件上重复使用它。但现在我遇到的问题是,当我序列化为Intents Extra然后在BroadcastReceiver中反序列化时,反序列化的Object不为null,但它的属性具有默认值,如null(对于字符串)或0(对于int或long)。 / p>

摘自模型类:

public class Measurement extends Event implements Serializable {
  private static final long serialVersionUID = 8246754793603601250L;
  /* Some other Stuff */
}

这来自序列化:

List<Measurement> measurements = new ArrayList<Measurement>();
/* measurements get filled */
extras.putSerializable(Intents.EXTRA_MEASUREMENTS, (Serializable) measurements);

这来自反序列化:

List<Measurement> measurements = (List<Measurement>) intent.getSerializableExtra(Intents.EXTRA_MEASUREMENTS);

2 个答案:

答案 0 :(得分:0)

Measurement的所有成员及其成员(递归)的成员将是Serializable

答案 1 :(得分:0)

找到它。问题是底层的Class Event没有实现Serializable。看起来这在重构和移动到外部依赖期间丢失了。

感谢大家。