开发者

Eclipse project layout for Android with premium features

开发者 https://www.devze.com 2023-01-14 22:43 出处:网络
I am about to embark on a project for android that will have a free version and a premium version. In VC++ land you would do this by adding preprocessor tags around the premium sections (or where the

I am about to embark on a project for android that will have a free version and a premium version.

In VC++ land you would do this by adding preprocessor tags around the premium sections (or where the code would enter a开发者_开发百科 premium section).

I could have two projects with separate source trees, but a bug in one would require a fix in the other.

However in Java you don't have a preprocessor so how do I go about this? Say you have a screen with an additional button that is the premium feature how would that be handled?

I will be using Eclipse as my IDE so Eclipse-centric answer appreciated.


The Android SDK formally addresses the issue of a shared or common codebase with something called a library project.

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

Basically, the shared code is defined as a library project, then a free and a premium version are simply two different projects in your eclipse workbench, both referencing aforementioned library project.

At build-time, the library project gets merged with either of your releases, which is what you want.

The Android SDK example source code contains a project called TicTacToe that will help you get started with library projects.

Good luck.

Daniel


I would rather put the advanced things in another jar and use IOC to query for these rather than rely on a if(bool) for this.

For you lite version, you just don't distribute the premium jars.


If it's just a about buttons or other View-components you could simply hide them in the 'lite' version, like

public static final boolean LITE_VERSION = true;

... 

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

精彩评论

暂无评论...
验证码 换一张
取 消