2012-09-25 41 views
1

我有一個自定義對象「TimeSheet」,它本身包含Calendar,DateFormat和int字段。該應用程序旨在使用這些對象中的幾個,所以我打算將它們存儲在List中,因爲它們已創建,並且我希望應用程序能夠在App關閉並重新加載時將這些對象保存到內部存儲器他們打開時。在Android中將自定義對象存儲到內部存儲的最佳方法?

對於Android開發,我仍然是一個新手(我迄今爲止只發布了一個應用程序),所以我不完全確定最好的方法去做這件事。我猜ObjectInputStream和它的Output對象可能是最好的選擇,但我不完全確定。我完全願意改變我的設計策略,以最簡單的方式存儲這些TimeSheet對象的集合。

任何人都可以推薦一個好的方向從這裏走,如果可能的話,提供簡單的例子嗎?

謝謝!

回答

1

對於這樣的事情沒有單一的正確答案。這很大程度上取決於您正在存儲的數據量。如果您沒有太多數據,則使用SharedPreferences,如果您有大量數據並且數據很複雜,請使用database。如果您沒有太多數據,我不會使用數據庫。你想保持儘可能簡單的事情,添加一個數據庫可能會使事情變得複雜。這是一個鏈接,討論不同的選項。一探究竟。希望它能幫助:

http://developer.android.com/guide/topics/data/data-storage.html

+0

看來ObjectInputStream和ObjectOutputStream可能是我需要在設備內部存儲數據的解決方案。我要存儲的數據不是特別龐大,所以我想我現在會放棄使用數據庫。反正我覺得這有點過頭了。 – Argus9

0

我會老老實實建議使用SQLiteDatabase來存儲它們:寫功能,你3個字段映射到數據庫(Calendar會成爲一個數字的,DateFormat將是一個字符串,int字段都將是數字)和從數據庫中的一行重建對象字段。它在前面有點沉重,但會使不可避免的特性擴展變得更容易。

+0

嗨,你能提供一個關於如何做的教程鏈接是什麼?你剛剛寫的大部分內容都在我頭上飛馳而過。 :) – Argus9

+0

最快的路徑是(在這種情況下),http://developer.android.com/guide/topics/data/data-storage.html#db有更多詳細示例的鏈接。 – Femi

1

有2種方式來做到這一點

  1. 將它保存在一個SQLite數據庫。在一個JSON格式
  2. 保存對象在文件

See this discussion

+1

如果您認爲這些問題是重複的,請考慮將它們標記爲重複。否則,您應該在鏈接頁面中加入一些內容(帶有歸屬地)以使這個答案獨立。 –

相關問題