国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用Netbeans IDE 5.0解決Java ME開發中的設備分裂問題

2019-11-18 15:04:36
字體:
來源:轉載
供稿:網友

  設備分裂問題給java ME應用程序開發帶來了不小的麻煩,在不同設備之間移植應用程序通常會碰到各種各樣的問題。本文介紹如何使用Netbeans IDE 5.0提供的預處理代碼功能解決設備分裂問題。
盡管Java ME平臺的發展是有標準可依的,JCP組織通過JSR規范了Java ME平臺的特性。但是,由于規范中包含眾多的可選特性,這樣各個廠商在實現過程中可能采取不同的方案。以MMAPI(JSR 135)的實現為例,Nokia 7610和SonyEriCSSon K700都支持MMAPI,同時也都支持圖像捕捉的功能,但是在支持的圖片格式上以及圖片的尺寸上卻存在著差別。Nokia 7610支持PNG和JPEG格式,但是SonyEricsson K700只支持JPEG格式,且圖片的尺寸必須為120*160。這樣就造成了一套應用程序很難在不同機型之間移植的問題,假如為每個機型都維持一套代碼又顯得效率不高。如何解決上述問題呢?

Mobility Pack提供的預處理代碼功能正是為這個問題設計的,你可以通過預處理功能,維護著一套代碼,但是卻可以編譯出多套應用程序。每套應用程序可以針對一個機型或者一系列的機型。下面通過一個例子yanshi如何使用預處理代碼的功能。

首先你需要安裝Netbeans IDE 5.0和Mobility Pack 5.0,然后將Motorola J2ME SDK 5.4.2和SonyEricsson J2ME SDK 2.2.3集成到Netbeans IDE中。方法參考下面的文章

安裝Netbeans IDE 4.1中文版

使用Netbeans IDE 4.1和Mobility Pack開發J2ME應用程序

使用Netbeans IDE集成Motorola J2ME SDK 5.4.2

下面新建一個Mobile項目,命名為PRocode。然后新建TestMIDlet,我們的目的是演示如何使用預處理代碼,因此例子比較簡單,TestMIDlet代碼如下所示:

package com.sun.df;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

/**

*

* @author mingjava

* @version

*/

public class TestMIDlet extends MIDlet {

private Display display = null;

private MainCanvas canvas = null;

public void startApp() {

if(display == null){

display = Display.getDisplay(this);

canvas = new MainCanvas();

}

display.setCurrent(canvas);

}

public void pauseApp() {

}

public void destroyApp(boolean unconditional) {

}

}

Netbeans IDE之所以可以根據預處理代碼編譯出多套應用程序,原因在于它將項目與配置綁定到一起。集成了Motorola和SonyEricsson的SDK后,我們就可以把A780和SonyEricsson_K700_Emu的配置添加到項目中,方法是選擇Set Active project Configuration——add Configuration to project。如下圖所示:

使用Netbeans IDE 5.0解決Java ME開發中的設備分裂問題(圖一)

MainCanvas的任務是在手機的屏幕上顯示一個字符串,這個字符串應該根據機型不同而不同。例如在Motorola A780上顯示A780,在K700上顯示K700。我們在MainCanvas的構造器中對變量message進行賦值,在代碼編輯器中選擇右鍵,Preprocessor Blocks——Create if/Else Block,向MainCanvas中插入預處理代碼,如下圖所示:

使用Netbeans IDE 5.0解決Java ME開發中的設備分裂問題(圖二)

MainCanvas的源碼如下所示:

package com.sun.df;

import javax.microedition.lcdui.Canvas;

import javax.microedition.lcdui.Graphics;

/**

*

* @author mingjava

*/

public class MainCanvas extends Canvas {

private String message = "WTK 2.2";

public MainCanvas() {

//#if A780

//# message = "Motorola A780";

//#elif SonyEricsson_K700_Emu



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜宁县| 华亭县| 凤凰县| 札达县| 新巴尔虎右旗| 无棣县| 中卫市| 聂拉木县| 五常市| 达拉特旗| 中阳县| 新龙县| 库伦旗| 通许县| 潜江市| 涞源县| 浏阳市| 鹰潭市| 黄石市| 万山特区| 千阳县| 高邮市| 新龙县| 漯河市| 舟曲县| 綦江县| 靖江市| 南安市| 永州市| 翁牛特旗| 翼城县| 蒲江县| 华宁县| 顺昌县| 义马市| 兴业县| 大港区| 阜南县| 邵阳市| 长兴县| 讷河市|