【发布时间】:2012-02-18 14:42:43
【问题描述】:
我正在设计一个 Android 应用程序,我有几个问题想听听您的意见。
现在,我想到的架构如下:
- 用于用户界面的 Android 应用程序,
- 用于业务逻辑的库(Android 或“纯”Java?),
- 用于访问 SQLLite 数据库的 Android 库(将由业务逻辑使用),
- 用于访问 Wifi/BT 模块的 Android 库(将由业务逻辑使用)。
由于很可能在不久的将来会为 Win/Mac/Linux 开发基于 Java 的 Android 应用程序版本,因此我试图将业务逻辑与 Android 特定的 API 分开。
基本上,业务逻辑将需要使用嵌入式 SQLite DB 以及使用 BT 适配器并通过 Wifi 访问 Internet,例如,这可以使用两个专用的 Android 库来完成。问题是我希望业务逻辑只是一个“纯”Java 库,而不是建立在 Android 项目之上。根据这种架构是否可行,知道 Android 应用程序可能会有一个配置“模块”负责设置和配置,并在需要时启动这两个基于 Android 的库。
当前选择的架构在您眼中有意义吗?
您对这个应用程序有什么建议:
- 尽可能模块化并具有良好的抽象级别(在 DB 和 BT/Wifi 适配器上),
- 让业务逻辑尽可能远离 Android API,
- 只需极少的更改即可使整个解决方案适应经典的 Java 应用程序。
提前感谢您的时间和意见。
【问题讨论】:
-
看看这个链接What is Android?你就会对android架构有所了解。
-
@YugandharBabu:感谢您的链接,但这里的问题更多是关于尽量将代码保持在 Android 范围之外,使用库来隔离需要访问 Android 设备硬件的最大功能或具体功能。
标签: java android architecture android-library