【问题标题】:Eclipse project layout for Android with premium features具有高级功能的 Android Eclipse 项目布局
【发布时间】:2010-09-07 13:39:06
【问题描述】:

我即将开始一个针对 android 的项目,该项目将提供免费版和高级版。

在 VC++ 领域,您可以通过在高级部分(或代码将进入高级部分的位置)周围添加预处理器标签来做到这一点。

我可以有两个具有不同源代码树的项目,但其中一个错误需要修复另一个。

但是在 Java 中你没有预处理器,那么我该怎么做呢?假设您有一个带有附加按钮的屏幕,该按钮是高级功能,如何处理?

我将使用 Eclipse 作为我的 IDE,因此以 Eclipse 为中心的答案值得赞赏。

【问题讨论】:

    标签: java android eclipse project-planning


    【解决方案1】:

    Android SDK 通过一种称为库项目的东西正式解决了共享或公共代码库的问题。

    http://developer.android.com/guide/developing/eclipse-adt.html#libraryProject

    基本上,共享代码被定义为库项目,然后免费版和高级版只是 eclipse 工作台中的两个不同项目,都引用上述库项目。

    在构建时,库项目会与您的任一版本合并,这是您想要的。

    Android SDK 示例源代码包含一个名为 TicTacToe 的项目,可帮助您开始使用库项目。

    祝你好运。

    丹尼尔

    【讨论】:

      【解决方案2】:

      我宁愿把高级的东西放在另一个 jar 中,并使用 IOC 来查询这些,而不是依赖 if(bool)。

      对于您的精简版,您只是不分发高级 jar。

      【讨论】:

      • 一旦有人拿到高级罐子,这将很容易绕过。
      • 当你没有销售时,这很容易克服 ;)
      【解决方案3】:

      如果它只是关于按钮或其他视图组件,您可以简单地将它们隐藏在“精简”版本中,例如

      public static final boolean LITE_VERSION = true;
      
      ... 
      
      if (LITE_VERSION) {
         premiumButton.setVisibility(View.INVISIBLE);
      }
      

      【讨论】:

        猜你喜欢
        • 2013-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多