Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的android应用程序中使用哈希表或SQLLite_Android_Hashtable_Sqlite - Fatal编程技术网

在我的android应用程序中使用哈希表或SQLLite

在我的android应用程序中使用哈希表或SQLLite,android,hashtable,sqlite,Android,Hashtable,Sqlite,最初,我在android应用程序中使用哈希表。我喜欢哈希表的关键点是它能够存储复杂项,例如:坐标-->浮点[2],速度-->浮点[2] 但从许多示例来看,在android中使用SQLlite表似乎更有效,但它可能只将所有值存储在rowID定义的一行中 那么,有人能在这个问题上给我一些启发吗?使用哈希表或SQLLite更可行吗? 如果退出应用程序,哈希表可以保留数据吗 如果退出应用程序,哈希表可以保留数据吗 不,当然不。当你的应用程序运行时,HashTable实例将处于活动状态,但一旦你关闭应用程

最初,我在android应用程序中使用哈希表。我喜欢哈希表的关键点是它能够存储复杂项,例如:坐标-->浮点[2],速度-->浮点[2]

但从许多示例来看,在android中使用SQLlite表似乎更有效,但它可能只将所有值存储在rowID定义的一行中

那么,有人能在这个问题上给我一些启发吗?使用哈希表或SQLLite更可行吗? 如果退出应用程序,哈希表可以保留数据吗

如果退出应用程序,哈希表可以保留数据吗

不,当然不。当你的应用程序运行时,
HashTable
实例将处于活动状态,但一旦你关闭应用程序,它将被删除。现在,把手放在心里,回答以下问题:

  • 您需要保存多少数据
  • 你多久使用一次这些数据
  • 数据应该持续多久
也就是说,让我们讨论更多的方法:

  • 共享首选项如果您想要一种简单的方法来持久化简单的数据结构,这是一种可行的方法。事实上,共享首选项允许您将数据保存在与哈希表非常相似的
    keyvalue
    模式中
  • SQlite此方法非常有用,但如果不保存复杂的数据结构,则不必使用此方法。如果您只是想保存一些值,那么使用SQLite就像用大炮杀死苍蝇一样
  • 有更多的方法来持久化数据,我认为这些方法不适用于您想要做的事情

因此,乍一看,我建议您看看共享首选项的示例,这似乎非常适合您的场景。

SQLite的效率并不比哈希表高。你真的在比较两个完全不同的想法。SQLite用于持久性存储,哈希表用于易失性存储。您的应用程序需要什么?

我绝对需要持久存储。因此,我可能会使用SQL Lite,让我考虑一下共享首选项。我使用一些复杂的数据对象,因此我可能更喜欢SQLLite。我面临的唯一问题是学习如何将复杂的数据类型转换为sql中可理解的结构。它是一个类似于hashtable的结构object->coor_x,coor_y,vlocity_x,velocity_yWell。。。其实没那么复杂。毕竟,如果您将所有内容保存在一个
哈希表中,那么您可以将其保存在一个共享优先权模式中。或者在Sqlite上创建一个表,但它更复杂,您的问题也很简单。