1

我有一个 SQLite 数据库,它有一个名为 Object 的表(当然)。在我的应用程序中,我需要访问该表及其所有字段。我能够毫无问题地查询数据库并从游标中获取我想要的所有信息。问题在于决定下一步如何处理光标。现在我正在考虑创建一个名为 Object 的类,它将为表中的每一列都有字段,这些字段将由查询设置。这似乎……效率低下。我不确定如何在不需要写出表中的每一列供对象使用的情况下执行此操作,这似乎违反了 DRY。有没有更好的方法来做到这一点?

我的最终目标是能够访问表中的每一行并获得我想要的该行的任何信息。例如,我将使用它来填充 ListView。如果这太模棱两可,请告诉我,我会尽力澄清。

谢谢!

编辑:我找到了db40库,它似乎可以满足我的要求。该库对于移动应用程序来说似乎有点大(40 mb)。有人有这方面的经验吗?我读过的一切似乎都表明它很好。如果我找到信息,我会发布更多信息。

4

1 回答 1

1

有没有更好的方法来做到这一点?

这是一个非常“广泛”的问题,取决于个人要求以及开发人员更舒服的情况。我正在使用您的想法,这对我来说是您可以使用的最好的想法。

通常我们可以说你想创建ORM(对象关系映射)。这是非常干净和有效的方法(我的观点)。当然有时不是最好的解决方案ORM(我从未遇到过这种情况,但听说过)。我几乎总是使用我自己定义ORM的,这肯定需要一些时间,但结果对于已完成的框架来说意义重大。

两者都有优点和缺点。OwnORM具有更高的性能,因为它是针对具体解决方案(主要是查询等)指定和优化的。

我建议您按照您提到的->创建对象,该对象将表示数据库中的表,其属性等于列。我在工作中使用它,我们的应用程序从未遇到过性能问题或电池消耗过多的问题。

如果您不直接从数据库中向用户显示一些数据,而是向用户显示对象中的“副本”,那么它也会更加安全。用户可以对显示的结果做任何想做的事(他们可以添加一些危险的符号和黑客),但现在您可以轻松地检查这一点,然后再使用更改更新数据库。

您的源代码看起来不错,其他开发人员不会迷失在您的代码中,一切都将变得清晰且易于更新,以备将来使用。

我在这件事上向你提供了“我的意见”,所以希望它能帮助你做出决定。

于 2013-08-11T16:07:10.910 回答