エンタープライズモバイルアプリケーションプラットフォーム---ノキアS 60シミュレータの下でのテスト


企業のモバイルアプリケーションプラットフォームの携帯電話端末のUI表示はlwuitフレームワークで開発され、SUN WTKが提供するシミュレータを使用して正常に動作する.開発環境の構成は次のとおりです.
Jdk1.4
Eclipse 3.2
Eclipseme1.7.9
Sun Wtk2.5.2
Midp2.0
CLDC1.1
1.S 60でのテスト
次に、ノキアS 60シミュレータの下でテストを行う.そして悪夢が始まる
1)nS60_jme_sdk_3rd_e_FP1.zip
構成の実行:
「Emulation」タブでデバイスを指定します.
Group:S60
Devicie:S60Emulator
その他のオプションのデフォルト
運転時に常に以下のエラーが発生する.
実行先:接続先エージェント
eclipseプロンプトエラーダイアログ:
Failed to initialize session
Caught exception:
java.net.ConnectException:Connection refused:connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
ネット上のいくつかの評論を見て、普遍的にこのような問題があることを発見しました.解決策は新しいsdkバージョンに変えてみるようだ.
2)nS60_jme_sdk_v2_6f.zip
運転構成同上
failed to initialize sessionエラーは発生しませんでした.辛抱強く待って(時間が長い)、やっと画面が出てきました:
バックグラウンドのヒントを参照してください.
-VM verbose connection exited
また、ネット上の資料を見ると、S 60のネットワーク接続が他のシミュレータと異なることによる可能性があるという.
そしてコードをよく分析すると、ホームページを開く過程でサーバに接続されていないことが分かった.
システムに参加するしかない.out.printlnでデバッグする.やっとプログラムがlwuitに走って問題が発生したことに気づいた.
2.テストコード
そこでテストコードを書きました

package test;
import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.events.*;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.layouts.BoxLayout;
import com.sun.lwuit.layouts.GridLayout;
import com.sun.lwuit.plaf.Style;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;

/**
 * @author mfcai
 */
public class HelloLWUITMIDlet extends MIDlet implements ActionListener {

	public void startApp() {
		Display.init(this);
		try{
		Resources r = Resources.open("/javaTheme.res");//  
		UIManager.getInstance().setThemeProps(r.getTheme( "javaTheme")); //  
		System.out.println("theme_name is:javaTheme");
		}catch(Exception ex){
			System.out.println(ex.toString());
			
		}
		
		Form f = new Form("Hello, LWUIT!");
		f.show();
		Command exitCommand = new Command("Exit");
		f.addCommand(exitCommand);
		f.setCommandListener(this);
	}

	public void pauseApp() {
	}

	public void destroyApp(boolean unconditional) {
	}

	public void actionPerformed(ActionEvent ae) {
		notifyDestroyed();
	}

}

1)s 60シミュレータの効果
エラーは前の実行プログラムとそっくりです.図:
このロードされたトピックセグメントコードをコメントしてください
Resources r = Resources.open("/javaTheme.res");//  
		UIManager.getInstance().setThemeProps(r.getTheme( "javaTheme")); //  
		System.out.println("theme_name is:javaTheme");

2)コード修正後の効果
やっと画面が出てきた.次のようになります.
3)wtkシミュレータの効果
SUN WTKが提供するシミュレータの下には、次のような画面が表示されます.
3.結論
s 60はlwuit.をうまくサポートできない.ネット上ではlwuitが適応性が良いという資料がありますが、この言葉は必ずしも正しいとは限らないようです.