2010-09-07 56 views
0

我即将开始一个Android项目,该项目将有一个免费版本和一个高级版本。带有高级功能的Android Eclipse项目布局

在VC++ land中,您可以通过在高级部分(或代码将进入高级部分的位置)添加预处理标签来完成此操作。

我可以有两个项目与单独的源代码树,但一个错误将需要在另一个修复。

但是在Java中,你没有预处理器,所以我该怎么做呢?假设你有一个额外的按钮是高级功能的屏幕,将如何处理?

我将使用Eclipse作为我的IDE,以Eclipse为中心的答案表示赞赏。

回答

0

如果它只是一个大约的按钮,或者你可以简单地把他们藏在“精简版”的版本其他View组件,如

public static final boolean LITE_VERSION = true; 

... 

if (LITE_VERSION) { 
    premiumButton.setVisibility(View.INVISIBLE); 
} 
1

我宁愿把先进的东西在另一个罐子和使用IOC查询因为这些而不是依靠if(bool)来做这件事。

对于你的lite版本,你只是不分发溢价罐。

+0

这样一旦有人拿到手中的高级瓶子就会很容易绕过。 – Robin 2010-09-07 14:00:23

+0

当你没有销售时,这很容易解决;) – 2010-09-07 15:16:26

2

Android SDK正式解决了一个共享或公共代码库问题,称为库项目。

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

基本上,共享代码被定义为一个库项目,然后免费和付费版本只是在Eclipse工作台两个不同的项目,都参照上述库项目。

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

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

祝你好运。

Daniel