【问题标题】:Android and Blackberry project in eclipseeclipse中的Android和Blackberry项目
【发布时间】:2011-07-07 03:11:13
【问题描述】:

我对 android 还很陌生,并且只真正使用 eclipse 来完成一些基本的 Blackberry 工作,所以我很好奇我是否可以挑选一些专家的想法来为您用于双平台的工作区/项目设置提供任何建议/指针支持eclipse中的项目吗?

我发现我大约 80% 的代码在 Blackberry 和 Android 之间是通用的,所以我需要解决这 20% 的问题。

我目前的想法是通过在源代码树选项中设置它们,在多个项目中拥有一个共享源代码的工作区。

在使用平台特定功能的地方,我将源名称分别标记为 *Android_???* 和 *Blackberry_???* 并具有两个项目都指向的通用类。

即实际上,一个工作区同时包含 Android 和 Blackberry 设置,并且工作区中有一个用于 Blackberry 的项目和一个用于 Android 的项目,但每个项目与构建中排除的其他平台的适当源文件共享相同的文件系统。

如果只有一种简单的方法可以在 java 中执行 #ifdef 等效项,这将简化此端口,但我想我们必须不这样做。(我听说过使用 c 预处理器来执行此操作,但听起来很乱,所以除非它是强烈推荐我宁愿不采用这个)

我听说过创建一个共享库,但感觉这些库在 android 和 blackberry 之间不兼容,因此也欢迎任何有关此方法的建议。

【问题讨论】:

  • 为什么不创建抽象类,将公共代码放在这些类中,为特定平台的工作创建抽象方法。然后在每个项目中扩展这些类并相应地实现抽象方法
  • 似乎是一种明智的方法,但我很好奇是否建议为黑莓和安卓应用程序共享源目录和共享工作区。
  • 我建议保留一个公共工作区并共享源目录
  • 谢谢,非常感谢您的建议以及我现在所做的。我已经在这方面取得了一些进展,但它已经成为一场绝对的噩梦,因为 Blackberry 和 Android 插件一直以某种方式相互干扰,现在我的单元测试中有一个随机构建错误。我确定这是我正在做的一个新手错误,但我一生都找不到它。 '无法获得所引用项目的项目性质 ????'如果我能正常工作,我会继续更新这篇文章。

标签: android eclipse blackberry share


【解决方案1】:

可能为时已晚,但我还是会告诉你我的想法。

我也有类似的需求。我有通用代码以及黑莓和 Android 特定部分。我为每个部分设置了三个单独的 Eclipse 项目。 “特定”项目是实际运行的项目,它们都对公共项目具有项目依赖性(我发现它比源包含更清晰)。

请注意,Common 项目必须是 Blackberry 项目(使用插件创建),因为 Blackberry 项目不能依赖于非黑莓项目。

对我来说效果很好!

【讨论】:

    【解决方案2】:

    对于面临此问题的其他人,我发现可行的解决方案是在磁盘上创建 3 个目录

    常见的 黑莓 安卓

    绝大多数进入 Common 但是具有平台特定调用的类分别进入 Blackberry/Android 对应部分,并在 common 目录中扩展一个公共基类。

    例如一个名为 MyClass 的类需要特定于平台的版本,在 common 目录中将有一个 MyClassCommon,在 Blackberry 目录中它有 MyClass extends MyClassCommon 定义,对于 Android 也是如此。

    在 Eclipse 中,Common、Blackberry、Android src 路径是通过一个公共变量(主干)单独添加的,该变量被扩展为 Common、Blackberry、Android 路径,用于 3 个 src 根导入。

    这似乎是确保包名称跨平台一致的唯一机制,因此不会产生其他依赖类需要新包名称的连锁反应。

    我确信有一种更优雅/正确的方法可以做到这一点,但目前看来效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      相关资源
      最近更新 更多