2010-08-27 33 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