2012-02-18 137 views
2

我正在學習Android/Java編程,但我對持久數據感到困惑。 經過大量研究,似乎存儲對象的最佳方式是將它們序列化到一個文件中,但我找不到一種簡單的方法來檢索這些對象。使用序列化對象列表

如果我創建了兩個對象並保存了它們的序列化版本,我該如何重新列出並列出它們?我是否需要爲文件名中具有特定ID的每個對象創建一個文件,以便我可以用getFilesDir列出它們?

+0

很高興提供幫助。如果其中一個問題解決了您的問題,請標記接受的答案。它可以讓具有相同問題的其他人更快找到幫助,並讓我們知道我們幫助了您。 – 2012-02-18 17:15:10

回答

3

取決於這些對象的複雜程度(我猜你的個人喜好),我之前使用SharedPreferences存儲簡單對象,只是爲了簡單起見,而同事大量使用SQLite,但適合於他的需求。

既然您沒有說明存儲的內容,我現在可以給您的最好的建議是讀取here,它涵蓋了Android應如何處理持久數據。

+0

+1這是正確的地方開始工作你的方式解決方案 – slezica 2012-02-18 00:53:15

+0

謝謝,它幫助我 – mobidyc 2012-02-18 10:47:06

0

「最好」的方式?請定義您的標準。

有數據庫(關係型和非關係型)或文件系統。您可以序列化很多方法:Java序列化,XML,Google的protobuf等等。

是的,你需要一種方法來指定一個唯一的表示與其對象。在關係數據庫中,您將使用主鍵。在你使用的任何系統中你都需要這樣的東西。

如果您通過某種機制序列化到文件系統,則必須將對象寫入所需的格式並將其流式傳輸到文件。換一種方式,爲對象指定關鍵字,讀取序列化的數據,並將其解析回對象中。

+0

最好的方式,因爲序列化存儲整個對象。如果將來在對象中添加或刪除組件,我不需要關心存儲這個組件。然而,我已經看過不同的開源項目,並且SharedPreferences似乎是滿足我需求的好方法。 – mobidyc 2012-02-18 10:46:26