检索数据 - SQLite查询与存储和检索内存中的数据

时间:2012-07-27 08:10:31

标签: android database performance sqlite arraylist

我有一个电影SQLite数据库的以下数据结构(我将保持简单,真正的表有更多的字段):

  • 流派 - (id,name)
  • 电影 - (id,genreId,name,year)
  • 场景 - (id,movieId,name)

例如:

  • 流派 - (7,惊悚片)
  • 电影 - (250,7,The Sixth Sense,1999)
  • 场景 - (15,250,我看到死人)

我的数据存储在我的Android应用程序的SQLite数据库中。 我有一个数据管理器类,用于检索相关数据。

我需要能够做到以下几点:

  • 获取所有类型
  • 根据不同的字段获取所有类型的电影(+根据不同的字段进行排序)
  • 根据电影ID
  • 获取SPECIFIC电影项目
  • 根据电影ID
  • 获取所有场景
  • ...

我想知道,performance-wize,处理这些数据的更好方法是什么:

    每次我需要获取数据时,
  1. 执行SQLite查询。
  2. 从数据库获取数据后,将其存储在数组列表中,从而将其保存在内存中,例如 - 类型的ArrayList,其中Genre对象包含Movie对象的数组列表...
  3. 与选项2相同,但使用哈希映射。在这种情况下 - 当在地图上循环时,有没有办法控制对象的顺序?
  4. 想到的任何其他选项?

1 个答案:

答案 0 :(得分:0)

通常,您从数据库中检索数据并使用CursorAdapter来表示ListView中的数据。所以,我想这是最有效的方法。如果您的表有不同的活动,那么在活动被销毁之前,它们会将您的数据存储在内存中。