在我的android应用程序中使用哈希表或SQLLite
最初,我在android应用程序中使用哈希表。我喜欢哈希表的关键点是它能够存储复杂项,例如:坐标-->浮点[2],速度-->浮点[2] 但从许多示例来看,在android中使用SQLlite表似乎更有效,但它可能只将所有值存储在rowID定义的一行中 那么,有人能在这个问题上给我一些启发吗?使用哈希表或SQLLite更可行吗? 如果退出应用程序,哈希表可以保留数据吗 如果退出应用程序,哈希表可以保留数据吗 不,当然不。当你的应用程序运行时,在我的android应用程序中使用哈希表或SQLLite,android,hashtable,sqlite,Android,Hashtable,Sqlite,最初,我在android应用程序中使用哈希表。我喜欢哈希表的关键点是它能够存储复杂项,例如:坐标-->浮点[2],速度-->浮点[2] 但从许多示例来看,在android中使用SQLlite表似乎更有效,但它可能只将所有值存储在rowID定义的一行中 那么,有人能在这个问题上给我一些启发吗?使用哈希表或SQLLite更可行吗? 如果退出应用程序,哈希表可以保留数据吗 如果退出应用程序,哈希表可以保留数据吗 不,当然不。当你的应用程序运行时,HashTable实例将处于活动状态,但一旦你关闭应用程
HashTable
实例将处于活动状态,但一旦你关闭应用程序,它将被删除。现在,把手放在心里,回答以下问题:
- 您需要保存多少数据
- 你多久使用一次这些数据
- 数据应该持续多久
- 共享首选项如果您想要一种简单的方法来持久化简单的数据结构,这是一种可行的方法。事实上,共享首选项允许您将数据保存在与哈希表非常相似的
模式中keyvalue
- SQlite此方法非常有用,但如果不保存复杂的数据结构,则不必使用此方法。如果您只是想保存一些值,那么使用SQLite就像用大炮杀死苍蝇一样
- 有更多的方法来持久化数据,我认为这些方法不适用于您想要做的事情
因此,乍一看,我建议您看看共享首选项的示例,这似乎非常适合您的场景。SQLite的效率并不比哈希表高。你真的在比较两个完全不同的想法。SQLite用于持久性存储,哈希表用于易失性存储。您的应用程序需要什么?我绝对需要持久存储。因此,我可能会使用SQL Lite,让我考虑一下共享首选项。我使用一些复杂的数据对象,因此我可能更喜欢SQLLite。我面临的唯一问题是学习如何将复杂的数据类型转换为sql中可理解的结构。它是一个类似于hashtable的结构object->coor_x,coor_y,vlocity_x,velocity_yWell。。。其实没那么复杂。毕竟,如果您将所有内容保存在一个
哈希表中,那么您可以将其保存在一个共享优先权模式中。或者在Sqlite上创建一个表,但它更复杂,您的问题也很简单。