【发布时间】:2011-02-09 09:21:14
【问题描述】:
大多数人都在询问从 J2ME 迁移到 Android 的问题。我不是。我想开发应用程序并让它们在 Android 和 J2ME 上运行。显然,对于每个应用程序,我将拥有一个 Android 项目和一个 J2ME 项目,并且两者都将在一个共享依赖项目中获取资源,该项目将具有公共代码。
我想知道人们认为正确的设计方法应该是什么 最大化代码重用(最大化共享项目中的代码)。
在我的典型 J2ME 应用程序中,有一个控制器/模型和一堆视图。
所以每个视图都持有对控制器的引用,当用户与视图交互时,视图调用控制器的方法,控制器决定接下来应该显示哪个视图以及它应该包含哪些数据。这些观点彼此不了解。如果编写得当,我希望控制器/模型代码大部分可以重用。
问题是:这 1 个控制器到多个视图如何转换为 Android,其中每个 Activity 执行整个应用程序的一个子集?
一种方法是使用单个活动(其中的控制器代码)。
这意味着应用程序必须处理 Back(就像 J2ME 一样)。
这也意味着当onAddContextMenu 被调用时,它必须知道当前正在显示哪种类型的页面才能添加页面特定的上下文菜单。
另一种方法如下:每个应用程序视图变成一个活动,模型控制器从一个活动传递到另一个活动。
有什么更好的意见吗?其他方法?
【问题讨论】:
标签: java android java-me code-reuse