我正在开发一个需要为galaxy选项卡开发Android应用程序的项目,然后开发一个与使用Ubuntu 10.04在桌面计算机上运行的目的相同的应用程序。
我的目标是避免为不同的平台做同样的事情。我想我不能在android和ubuntu上运行完全相同的应用程序(没有android模拟器)。
假设我使用java编程,您会提供哪些要求或设计建议,以便我可以为这两个应用程序重用大部分代码?
我更喜欢C ++世界,我尝试做的是创建一些具有高级平台无关代码的类,然后必须重写的只是特定于平台的代码。但我当然不知道如何用java做这件事。
答案 0 :(得分:2)
如果您按照MVC模型设计代码,则可以保留业务逻辑(假设您不使用任何安卓库),也可以保留您的控制器。观点会发生变化,但如果你坚持使用MVC,你所需的努力将是最小的(与不遵循MVC相比)。
答案 1 :(得分:2)
尝试将您的代码拆分为可管理的图层。&使用这些图层作为项目的依赖项......仔细规划后,您将对项目进行非常小的更改...
网上有很多文章可以指导您完成这些事情。说过设计归结为您对应用的分类方式。
通常我们有3个人 1. DAO - >主要处理数据访问(如数据库访问等)。 2.服务 - >与商业逻辑有关,它位于dao之上。 3.演示 - >与UI有关(如struts,velocity等)
对于Android应用, 在你的情况下,你可以用webservice调用替换你的DAO,你的服务可能需要一些调整&您的表示层需要从头开始构建。
希望这会有所帮助。