2011-06-29 315 views
0

我開始在我的android應用程序中使用SQLite數據庫。用於存儲文本,整數值或blob非常簡單。SQLite:對象實例的持久存儲

問題:如何存儲一個對象,例如android.location.Location?

我必須使用序列化或parcable嗎?我已經讀過這個parcable不能用於持久數據存儲。但位置不能實現可序列化。

保存API類的實例和我自己的實例之間有什麼區別?

在此先感謝

+0

我不能拿出好的設計/理由這樣做的「正常」的應用程序。你能否解釋你正在做什麼以及爲什麼要在數據庫中保存一個Location對象? – Nanne

+0

到目前爲止,我只需要計算當前位置和用戶保存的位置之間的距離。我認爲這將是最好的解決方案來簡單地存儲位置對象...此外,我想知道是否有一個很好的解決方案將API類(不可序列化)的實例存儲到sqlite數據庫 – AxelTheGerman

回答

0

看看Android - How to store Address to DB。您可能只想堅持您關心的屬性,並稍後重新構建它們的位置。例如,如果他們都是你關心的,則存儲緯度和經度。

+0

我會有如果可以簡單地使用底層硬件提供的所有屬性來恢復位置對象,而不是手動存儲它們,並使用所有設置器恢復它們,就會喜歡它。但我發現一個解決方法:只要我只是想計算距離我將使用'靜態void distanceBetween'http://developer.android.com/reference/android/location/Location.html#distanceBetween%28double,%20double ,位置類提供的%20double,%20double,%20float []%29 - 並自行存儲經度和緯度 – AxelTheGerman