2010-08-27 37 views
0

我有一个小型的Java ME项目(一款游戏),我想将它移植到黑莓手机上,在那里我还没有任何经验。我已经确定2个类别的设备,我想基于它们是否支持触摸支持,:
1. 320×240和小480x360(非触摸)
2.小360x480(触摸)在Eclipse中组织BlackBerry项目的最佳方式(用于项目的非触摸和触摸版本)?

对于非触摸设备,这些改变将会很小(我只会重新映射键来控制游戏),但对于触摸设备来说,它似乎很棘手。我假设我必须拥有2个不同的代码库,因为4.7之前的设备没有触摸API,并且正在寻找一种方法来最小化我必须编写的代码量。理想情况下,我想只有1个项目(这是可能的)?任何关于如何组织这个项目的建议将非常感激。谢谢。

回答

0

说得对,如果您尝试支持4.7版以前的设备,那么您的应用将无法使用触摸API。你可以用类似

//#ifdef STORM 
import net.rim.device.api.ui.TouchEvent; 
//#endif 

环绕触摸特定代码我使用Netbeans。 “STORM”的定义是我的NB配置的名称,但你可以定义你自己的,等等...... 对不起,只是粘贴链接,但我不知道如何在Eclipse中做到这一点:

http://docs.blackberry.com/en/developers/deliverables/12002/Create_Workspace_Preprocessor_Directives_927626_11.jsp

和其他地方的SO:

Using preprocessor directives in BlackBerry JDE plugin for eclipse?

编辑:我知道这看起来是个NB具体的答案,但预处理器实际上是由黑莓一般工具支持。

+0

谢谢你spacemanaki,为脱落一些灯光和有用的链接。我会尝试一下,稍后在解释时加上评论。 – Levon 2010-09-02 08:44:34

+0

Np,祝你好运。切换到Eclipse是在我的TODO列表中,如果我很快就会更新,我会更新它。 – spacemanaki 2010-09-02 14:44:24

2

没有必要有两个独立的版本来支持触摸和非触摸设备。您可以在相应的类中实现TouchEvent,NavigationMovementKeyDown方法来处理这两种交互方法。方法将处理所有触摸屏相关的交互,并且方法将提供与具有键盘和触控板的设备的交互。

黑莓手电筒同时具有触摸屏和触控板,甚至会使单独构建方法更加复杂。

+2

谢谢redwoolf。使用不知道touch API的pre v4.7设备会不会出现问题,并且我在该项目中使用了该设备?由于缺少绑定,应用程序会不会在这些较旧的设备上崩溃?谢谢! – Levon 2010-08-29 15:18:23