首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android应用程序和(Android)库

Android应用程序和(Android)库
EN

Stack Overflow用户
提问于 2012-01-25 11:56:57
回答 1查看 562关注 0票数 4

我正在设计一个Android应用程序,我有几个问题想听听你的意见。

现在,我正在考虑的架构如下:

  • 安卓应用程序的用户界面,
  • 库(
  • ?)对于业务逻辑,
  • Android库用于访问SQLLite数据库(将由业务逻辑使用),
  • Android库用于访问Wifi/BT模块(将由业务逻辑使用)。

由于很可能在不久的将来,这个基于Java的Android应用程序版本可能会为Win/Mac/Linux开发,所以我试图将Business与Android特定的API区别开来。

基本上,Business将需要使用嵌入式SQLite DB,以及使用BT适配器并通过Wifi访问互联网--例如,这可以使用两个专用的安卓库来完成。问题是,我希望Business只是一个“纯”Java库,而不是基于Android项目。根据这一架构,Android应用程序将有一个配置“模块”负责设置、配置和启动两个基于Android的库,这是可行的。

在你看来,目前选择的架构有意义吗?

您对此应用程序的建议是:

application.

  1. 应尽可能模块化,并具有良好的抽象级别(在DB和BT/Wifi适配器上),
  2. 将业务逻辑尽可能地从Android中保持清晰,
  3. 需要最小的更改才能适应经典Java的整个解决方案

提前感谢您的时间和意见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-25 12:16:59

我问过一个similar question --我的目标是为安卓、黑莓和J2ME开发一个应用程序。我是通过将特定于平台的组件(UI、DB access、Network )与核心业务逻辑分开实现的。核心BL是作为一个普通的JAR库开发的,我将其分发给Android和BB应用程序。

虽然成功了,但我对解决方案并不满意。正如我在一个answer here中解释的那样(甚至就像我上面提到的第一个问题的答案一样),由于BB/J2ME没有跟上Java版本,我遇到了实际的困难。我的Android实现最终使用了大量的“遗留”代码(例如,没有泛型)。

尽管如此,既然您的下一个目标是桌面而不是BB或J2ME,那么您不仅可以在安卓和桌面Java应用程序之间保持您的设计通用,而且还可以共享实现。

关于您关于抽象的问题,我建议采用基于接口的业务逻辑和DB逻辑方法。我上述答覆第一段的链接,显示了如何做到这一点的一个简单例子,但我很乐意提供更多细节。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9002305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档