两个碎片 - 从两个碎片使用sqlite还是从一个传递细节到另一个?

3
假设我有一个包含10列文本类型(20)的SQLite表。
ListFragment会从数据库中提取4列,并使用SimpleCursorAdapter在列表中显示。
在选择后,ListFragment将传递所选的row_id到DetailFragment,在那里它将从数据库中提取所有10列以显示(另一个查询)。
另一种设计是在ListFragment中提前获取所有所需数据(但仅显示所需数据),并通过intent或构造函数将所有内容传递给DesignFragment。我不喜欢这个选项的原因是列表将包含不需要的额外数据,而原始选项将意味着对数据库的二次调用。
哪个是首选选项?
谢谢。
1个回答

1

嗯,我可能不是这方面的专家,但在我看来,最好不要一遍又一遍地查询数据库

查询数据一次(假设您的数据库内容不是非常庞大),并使用意图传递它们。

然而,与其通过意图传递它们,我个人建议您创建一个实用类来包含数据库的所有细节,您只需初始化此类对象一次,然后在需要时使用该对象。唯一需要记住的是,每当数据库内容更新时,您需要更新此对象的详细信息。

(例如,官方Facebook Android SDK使用实用类存储所有用户信息,包括访问令牌和会话ID)


非常感谢您!如果我的回答有帮助,请不要忘记给我“点赞/采纳”!祝好! :) - Swayam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接