4

我花了很多时间掌握将我的 Android 应用程序“打包”成逻辑组件的最佳方法,我的目标是制作一个易于更新和添加新功能的应用程序。

我相信“模块化”方法效果最好,其中我的数据表示为数据类,我的数据库有它自己的数据库助手类,它处理所有数据库交互,最后查看连接数据库助手、数据类的“控制器”活动类和视图一起。

话虽这么说,我需要一些高级规则来构建我的编程,我发现如果我没有规则,我最终会得到草率的代码和大量的重写,因为代码变得太复杂了。

综合考虑,这些规则是 SQL 支持的应用程序的良好基础吗?

我的理论Android规则:

  1. DB Helper 类应包含所有 DB 逻辑。这意味着,DB Helper 将包含打开和关闭 DB 的代码,以及用于插入、更新和删除所有记录的代码。DB Helper 将返回的数据不是作为游标,而是作为我创建的 Data Class 对象,每个 Data Class 都有一个构造函数,该构造函数获取游标并使用它来填充 Class 的值。

  2. 数据类将允许将数据库记录表示为对象而不仅仅是游标。由于 DB Helper 只会返回对象,我将不得不为 ListView 等项目创建适配器,以呈现我的对象数据而不是光标(我在这一点上有点可疑,不确定这是一个好主意还是不是)。所有业务逻辑,因此对数据类中包含的数据进行的所有计算,都将在数据类本身中完成。我设想我的数据类具有典型的 getter 和 setter 以及“计算”方法,这些计算方法将从数据类中获取 var 并对它们执行一些有意义的业务逻辑,然后返回结果(这是个好主意吗?)。

  3. View Controller Activity Classes 将 DB Helper 的方法与 Data Classes 联系起来,并使用结果信息更新 Views。这个Activity Class会很正常,它会初始化布局和widget,它会在适当的时候使用生命周期方法通过DB Helper对DB进行各种查询,它会有简单的更新方法来更新widget使用他们提供的数据类对象。

我发现我在使用 Android 时没有遇到任何问题,除了在诸如此类的设计问题上苦苦挣扎。我厌倦了我的应用程序变得过于复杂,我需要一个简单的系统来确保事情保持可管理性和可扩展性。

如果您像我一样挣扎,请,请,请,将我推向构建应用程序的正确方向。正是这一切阻碍了我制作我希望的令人惊叹的应用程序,让每个人都能享受。

4

1 回答 1

1

设计应用程序时需要考虑的最重要的事情是:谁来维护它?如果您将成为唯一一个对您的应用程序进行维护的人,那么请做最适合您的事情。但是,如果其他人要维护此应用程序,那么是的,您将希望将类似的东西放在一起。听起来你有一个很好的计划。确保你使用注释,如果你喜欢,你可以包含一个“readme.txt”,它可以让其他人看到正在发生的事情并让你解释你的设计逻辑。为了避免事情变得过于复杂,您可以使用包来存储类似的类。

最终,您的问题没有单一的正确答案。

于 2012-09-07T21:13:41.463 回答