エミュレータ用にコンパイルするには ?
Visual C++ (以降、VC) を使用して BREW アプリをエミュレータ用にコンパイルするには、 BREW プログラミング入門 「"HelloWorld" プログラムを作ろう」を参照してください。
SophiaFramework では、 HelloWorld チュートリアル「エミュレータ上で動作させる」を参照してください。
また、Windows DLL が作成できるコンパイラであれば、必ずしも VC を使用する必要はありません。
Visual C++ (以降、VC) を使用して BREW アプリをエミュレータ用にコンパイルするには、 BREW プログラミング入門 「"HelloWorld" プログラムを作ろう」を参照してください。
SophiaFramework では、 HelloWorld チュートリアル「エミュレータ上で動作させる」を参照してください。
また、Windows DLL が作成できるコンパイラであれば、必ずしも VC を使用する必要はありません。
BREW デバイス コンフィギュレータとは、 エミュレータで使用するデバイスファイルの作成や編集をするためのエディタです。 このエディタを使用して、エミュレータの見た目やキーイベント、画面サイズ、文字コードを設定し、 独自のデバイス ファイルを作成します。
デバイス ファイルとは、エミュレータが携帯電話の動作をエミュレートするために使用するファイルです。 デバイス ファイルを編集することで、開発者はさまざまな携帯電話の動作をエミュレートでき、 品質テストを強化できます。
詳細は、『BREW デバイス コンフィギュレータ ガイド』を参照してください。
動作します。古いバージョンの BREW SDK を使用して開発した BREW アプリは新しいバージョンのエミュレータでも動きます。
日本語を使用しないアプリであれば動作します。
BREW SDK 3.1 のエミュレータで DevicePack1.dpk というデバイス パックを選択すると、 [Device Details] タブの Sever Sockets が 1 となって TCP サーバーが使用できます。
エミュレータをダウンロードする必要はありません。 このエラー メッセージは、アプリのディレクトリ構成が正しくない場合に表示されます。
以下の点に注意して、アプリのディレクトリ構成を修正してください。
エミュレータが表示するメッセージの詳細は、 『BREW API リファレンス』の 118 ページ「エミュレータのメッセージ」を参照してください。
デバイス パックとは、BREW SDK 3.1 のエミュレータ用に拡張されたデバイス ファイルのことです。 BREW SDK 3.1 には、デバイスコンフィギュレータのようなデバイス パックを作成するツールがありません。 デバイス パックの作成は端末メーカーが行っており、最新のデバイス パックは BREW ディベロッパー エクストラネットから入手できます。
BREW ディベロッパー エクストラネットとは、BREW 認定デベロッパー専用の Web サイトです。 この Web サイト上では、一般の BREW 開発者に公開されていないサンプルや情報、 BREW テスト・商用化ユーティリティなどの開発ツールが公開されています。
I3D Sample は、 日本語版の BREW エミュレータ version 2.1 では動作しませんので、 英語版の BREW エミュレータ version 2.1 (Patch 1 適用済み) を使用してください。
ただし、デフォルトのデバイスファイルでは動作しませんので、 以下の手順を参考にデバイスファイルの内容を変更してから実行してください。
リムーバブルディスクを使用したファイル アクセスは、 以下の手順でシミュレートできます。
以下に、リムーバブルディスク上のテキスト ファイルから、 データを読み込むサンプルコードを記載します。
IFileMgr* fileMgr; IFile* file; char fileName[32] = {0}; char buffer[128] = {0}; int size = 0; if (SUCCESS == ISHELL_CreateInstance(pMe->m_pIShell, AEECLSID_FILEMGR, (void**)&fileMgr)) { // リムーバブルディスクにアクセスするため、 // ファイル名の先頭に AEEFS_CARD0_DIR を設定します。 STRCAT(fileName, AEEFS_CARD0_DIR); STRCAT(fileName, "test.txt"); // リムーバブルディスク上のテキスト ファイルをオープンします。 file = IFILEMGR_OpenFile(fileMgr, fileName, _OFM_READ); if (file != NULL) { // リムーバブルディスクからファイルを読み込みます。 size = IFILE_Read(file, buffer, sizeof(buffer) - sizeof(char)); if (size > 0) { // リムーバブルディスクから読み込んだテキスト ファイルの内容を // ログに表示します。 DBGPRINTF("*** read from file : %s ***", buffer); } // IFile インターフェイスを解放します。 IFILE_Release(file); } // IFileMgr インターフェイスを解放します。 IFILEMGR_Release(fileMgr); }
エミュレータが使用しているデバイスファイルによっては、 ファイルシステムの制限が厳しく、 デバッグ用の .dll ファイルでは、 サイズ制限を超えてしまう場合があります。
このような場合、デバイスファイルを編集することで、 ファイルシステムの使用制限を拡張することができます。 以下にその手順を示します。
「エラーが発生しました(004) ※クリアキーを...」と、いうエラーメッセージは、アプリのフォルダ内にアプリ用の .sig ファイルが存在しない場合に、表示されるメッセージです。実機上のアプリのフォルダを確認し、.sig ファイルが存在するかを確認してください。参考として、実機上でアプリ (app) を動作させる場合のフォルダ構成を以下に記載します。
root/ app.mif・・・モジュール情報ファイル app/・・・・アプレットフォルダ app.mod ・・・実機実行形式 app.sig ・・・SIGファイル(実機でアプリを実装する場合に必要となります)
デバイスファイルを切り替えることで、エミュレータで日本語の入力ができます。デバイスファイルは、BREW SDK 2.1.1 JP に含まれている「Sharp Z-800_Ja_SJIS.qsc」を使用します。
以下の手順で、デバイスファイルの切り替えができます。
また、デバイスコンフィギュレータを使用してデバイスファイルの内容を日本語に対応させることで、日本語を使用することも可能です。
エミュレータで日本語を使用するには、デバイス属性の言語とフォントにある以下の項目を変更してください。
以下の手順で、デバイスファイルの内容を日本語に対応できます。
BREW のドキュメントには記載がありませんが、 DBGPRINTF は内部的に SPRINTF 関数を使用して 文字列を書式化していると思われます。 SPRINTF の説明にあるように、 この関数では %f 書式化文字列をサポートしていません。
浮動小数点数を出力するには、FLOATTOWSTR 関数を使用して いったんワイド文字列に変換してから、さらに char 文字列に変換し、 それを DBGPRINTF で出力するとよいでしょう。
表示できます。
エミュレータでは、Visual C++ のアウトプット ウィンドウを使用して、 デバッグ出力を日本語で表示します。 アウトプット ウィンドウにデバッグ出力を表示するには、 以下の手順で Visual C++ からエミュレータを起動してください。
実機では、BREW Logger を使用してください。