2016-01-13 18 views
-1

我將模型移至外部依賴項,以便我可以在服務器和其他部件上重用它。但現在我遇到的問題是,當我序列化爲Intents Extra,然後在BroadcastReceiver中反序列化時,反序列化的Object不是null,但它的屬性具有默認值,如null(字符串)或0(int或long)。Intent/Bundle中的可串行化不起作用

這是從模型類摘錄:

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); 
+0

'Measurement'工具'Serializable'嗎? – Blackbelt

+0

當然;請參閱上面的代碼片段;) – GeneralOfTheFelixLegions

+0

什麼是「事件」?它是'Serializable'嗎? – Blackbelt

回答

0

Measurement所有成員和成員其成員(遞歸)將是Serializable

+0

是的,我只是偶然發現了它。不管怎樣,謝謝你。 – GeneralOfTheFelixLegions

0

找到了。問題是底層的類事件沒有實現Serializable。看起來像在重構期間丟失並轉移到外部依賴項。

感謝大家。