【发布时间】:2015-12-19 02:08:36
【问题描述】:
我正在开发名为 Flat Out Hockey 的 Android 游戏,使用 Eclipse 作为 IDE、Java 和本机 C++。 我的问题是代码的 Java 部分。 因为我需要为 FireTV、Google Play 和 OUYA 构建我的游戏,所以我有不同的方法来处理每个平台上的游戏手柄输入。 一个问题是,FireTV 使用的“项目构建目标”与 Google Play 和 OUYA 不同,后者是亚马逊专门为 FireTV 制作的。
这意味着我需要使用在一个构建目标下可用但在另一个构建目标下不可用的导入和类,并在为每个平台构建时不断在它们之间切换。
问题是,据我所知,Java 中没有预处理器? 所以我不能像在 C++ 中那样做#ifdef。 这使得我需要注释/取消注释或更改值的代码量超出了应有的水平。
我所做的一个“技巧”是为 Amazon 游戏手柄类创建一种模拟类,因此我只需更改导入并创建一个名称相同但功能不同的类。
但还有其他问题,例如仅在 Android OS 5 上可用的 Immersive 属性。 和其他东西。
所以也许我错过了 Java 中的一些功能,但我真的很想只需要在一个地方设置一个值来在不同的构建之间切换。
在 Java/eclipse 中有类似的东西吗?
【问题讨论】:
-
在 Android Studio 中,您可以为构建定义风格,您可以在其中放置特定代码。通常这用于开发/发布版本,但它可以用于各种事情,包括那个。
标签: java android eclipse preprocessor