Android - 将Cursor数据放入HashMap以加速数据检索

时间:2016-09-06 18:43:22

标签: android hashmap android-sqlite android-cursor

我正在使用Android Cursor开发一个带有sqlite数据库的测验应用程序。现在用户可以在问题之间跳转。如果他进入下一个问题,我将调用cursor.moveToNext(),否则调用cursor.moveToPrevious。在每次“跳转”时,我用数据库的数据填充对象(问题,答案,图片,类别)。现在我考虑创建一个包含所有必需数据的测验对象,并将其放在HashMap中。一个HashMap,其中Cursor位置为键,测验对象为value。因此,我不必在每次跳转时从数据库中读取数据。此外,它可以避免多次创建对象。

有意义吗?

2 个答案:

答案 0 :(得分:2)

根据Common's WareCursor将数据缓冲到内存中。这意味着您的应用不会直接从每个cursor.moveToNext()的数据库中读取。因此,我认为你不需要HashMap。另一方面,QuestionQuiz类可以非常有用地将数据传递给需要使用它的每个方法。

答案 1 :(得分:1)

Cursor不会对每次跳转进行查询。它也是数据的容器,例如Maps。从数据库获取数据然后填充地图对我来说似乎不是一个优化的解决方案。我仍然希望处理光标并获取数据。