2011-11-30 91 views
1

我有關於序列化複雜對象並將它們寫入文件的幾個問題。複雜的對象序列化

首先,我有幾個相互連接的對象,更精確地說,我有一個對象,它在持有另一個對象的列表中包含另一個對象。所以,我想要寫入文件的對象的整體架構如下所示:

ComplexObject 
-> holds List of NotSoComplexObject(s) 
--> every NotSoComplexObject 
---> holds a SimpleObject 

所有對象都實現Serializable接口。

,如果我嘗試序列的把complexObject並將其寫入一個文件我沒有具體的異常爲 Exception.getMessage() 方法返回NULL(所以,它是被拋出一個異常,但目前還不清楚這它是例外)。

有沒有辦法實現ComplexObject被序列化並存儲在文件中?

+2

的異常可以沒有任何消息,仍然是有趣的,你需要知道它的確切類型。嘗試'exception.printStackTrace()',並將完整的堆棧跟蹤粘貼到你的問題中,這將有助於理解發生了什麼。 –

+0

非常感謝 - 我的DDMS(Android調試工具for Eclipse)中出現了「NoSuchMethodException」,似乎它已連接到GeoPoint,我試圖用整串對象序列化... 我很困惑... – herom

回答

1

異常本身告訴你它是什麼類型。我假設它的NotSerializableException。

在Java中,你可能會做......

System.err.println(e); 
e.printStackTrace(); 
+0

感謝您的快速回復! 實際上,我沒有想到它會以任何方式出現,它是一個「NoSuchMethodException」,它似乎是從GeoPoint對象拋出的,我試圖用一大堆東西來保存! 這真的有可能嗎?如果是這樣,我將如何解決這個問題?我其實從來沒有這樣的事情,所以我有點失落...... Android Manifest.xml或類似的問題? – herom

+0

NoSuchMethodException表示庫試圖在運行時查找不可用的方法。這意味着您的圖書館中有一個錯誤或者您沒有正確配置它。我會試圖從圖書館的提供者那裏得到支持。 –

+0

非常感謝您的幫助,我非常感謝! 其實我通過以下2個步驟解決了問題: 1.) 創建您自己的GeoPoint類,它應該擴展GeoPoint並實現Serializable,因爲GeoPoint對象本身並未實現Serializable接口。 ///// 2.) 加入''和''給Manifest,以及''entry – herom