2011-06-29 43 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