BREW を学ぶ 情報工学科1組 石原 第4 週目 Microsoft Visual Studio.NET 2003 を使って BREW アプリの作成手順を学ぶ.

Slides:



Advertisements
Similar presentations
1 実技演習1 2008/01/28,29 JaLTER Morpho 講習会. 2 起動・接続 各自、コンピュータを起動してネットワーク に接続してください。 各自、コンピュータを起動してネットワーク に接続してください。 IP アドレス自動取得 IP アドレス自動取得 無線 LAN 使用可 無線.
Advertisements

Windows 環境から SAS を使う 長野 祐一郎 1. データのダウンロード 2. データの加工 3. プログラムの作成 4.TeraTerm によるプログラムの実行 5. 処理結果の確認 6.SAS のデータ処理を概観 今回の授業では、 Windows 環境で作成されたデータを.
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
1 検索 ● 検索: 特定の文字列を探す ⓪検索を行う範囲を限定するときは、範囲選択をする。 ① 「ホーム」タブ⇒「編集」⇒「検索」タブとクリックする。 ②「検索する文字列」欄に検索したい文字を入力する。 ③「次を検索する」をクリックする。 ③ ‘ 「検索された項目の強調表示」⇒「すべて強調表示」とクリックすると、
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
Jsdo.it と Monaca による端末へ のアプリ導入 5/29 (金)課題 堀江美香.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
BBT大学 Ruby on Rails開発環境セットアップマニュアル
イベント イベント: マウスの操作、キーボードの操作、ファイル操作など システムやユーザーからの入力・出力のこと
【事例演習1】 CGプログラム基礎      解 説        “Windowsプログラムにおける      ダイアログボックスの作成方法”    
大杉 直樹†, 神谷 年洋‡, 門田 暁人†, 松本 健一† †奈良先端科学技術大学院大学 情報工学科 {naoki-o, akito-m,
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
IT講習会 MicrosoftWord(2007ver.)編 (Wed) Edited by KON
東京工科大学 コンピュータサイエンス学部 亀田弘之
TMenu メニューバーを用いた操作のための コンポーネント.
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
BREWを学ぶ 情報工学科1組 石原 第5週目 Microsoft Visual Studio .NET 2003を使って
ゲームプログラミング講習 第1章 DXライブラリ入門
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
C#によるWindowsFormApplication入門
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
IM、プレゼンス、連絡先 IM 要求に応答する プレゼンスを設定または変更する ユーザーを検索する
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Netscape Communicator Eudora Microsoft Word
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
9 Microsoft Word(1).
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
かぞえチャオ!でコードレビュー 2013/10/20 Ciao-ware.
経営工学基礎演習a Word第1回目.
3 Macintoshの基本操作(3) 3.1 エイリアス エイリアスを作る ファイルなどの分身となるファイル アイコンを選択
経営工学基礎演習a PowerPointの利用.
10 Microsoft Word(1) 10.1 Microsoft Word v.Xの概要 起動 終了
第2回 Microsoft Visual Studio C++ を使ってみよう
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
Microsoft Visual Studio 2005 の使い方
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
C言語講習 第0章 Hello, world!.
VBA ( Visual BASIC for Application) を使えるようにする方法
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
3.1 PowerPoint の概要 PowerPointを使ってできること
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
Netscape Communicator Eudora Microsoft Word
2013年度 プログラミングⅡ ~ はじめてのプログラミング ~.
2017年度 プログラミングⅡ ~ はじめてのプログラミング ~.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
ここに 表題や引用文が入る 背景への図の使用とキャプションへのテクスチャの適用 (中級)
2014年度 プログラミングⅡ ~ はじめてのプログラミング ~.
C言語 はじめに 2016年 吉田研究室.
高度プログラミング演習 (01).
第1章 いよいよプログラミング!! ~文章の表示 printf~
Smart Graphic Layout トピック ステートメント 赤色の背景に画像を含む SmartArt グラフィック (中級)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
C言語講習 第0章 Hello, world!.
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Presentation transcript:

BREW を学ぶ 情報工学科1組 石原 第4 週目 Microsoft Visual Studio.NET 2003 を使って BREW アプリの作成手順を学ぶ

"HelloWorld" プログラムを作る BREW エミュレータで実行する BREW アプリケーションの 実体は.dll ファイルです。これを "BREW モジュール " という。 BREW モジュールには、必ず MIF ファイルが必要で、 HelloWorld.dll モジュールには HelloWorld.mif というファイ ルが 必要になる。 この二つは必ずペアで扱う。 MIF ファイルは BREW モ ジュール に関するメタ情報を記述するためのもの。 画面に "Hello World" と表示する簡単な BREW アプリを作成 する。

BREW アプリケーションを開発に必要な 作業  各 BREW アプレットのクラス ID の作成  各 BREW アプレットの振る舞いの実装  BREW モジュールのメタ情報を記述した MIF ファイルの作成  BREW モジュール (DLL) の作成

MIF ファイルの作成 HelloWorld アプリケーションでは、 HelloWorld.dll と いう BREW モジュールに、 “ HelloWorld ” という名 前 の BREW アプレットを含めることにする。 HelloWorld アプレットのクラス ID は 0x1234 にす る。 これらの BREW モジュールの情報や、そこに含ま れ ているアプレットの情報は、 MIF ファイルに格納 する。 まず MIF ファイルの作成手順を見ていく。

 BREW MIF エディタ を起動。  BREW モジュールに一つのアプレットを含め る設定を行う。まず [ アプレット ] タブの [ 新規 アプレット ] ボタンを押す。

 [ClassID の生成 ] ダイアログが表示されるので、 [ 名前 ] に “ HelloWorld ” と入力し、 [ ローカル ] ラ ジオボタンを選択する。また [ClassID] に "1234" と入力。

 HelloWorld.bid というファイル名で保存。 このファイルに HelloWorld アプレットの クラス ID が格納される。  MIF エディタに戻り、 [ アプレット ] タブの [ClassID] から 0x を選択する。これは HelloWorld アプレットを表すクラス ID 。  アプレットの名前や種類、アイコンを設定する。 [ 名前 ] には “ Hello World ” と入力し、 [ アプレット の種類 ] では “ ツール ” を選択。  HelloWorld.mif というファイル名で保存。

*.bid ファイルの中身  MIF ファイルを作成する途中で.bid ファイルを 作成。このファイルは、 BREW アプレットのク ラス ID を定義した C 言語のヘッダーファイル で、テキストエディタで開いてみると、次のよ うになっていることが分かる。 #define AEECLSID_HELLOWORLD 0x  この.bid ファイルは、後で BREW アプレットの 実装を行うときに、ソースコードにインクルー ドすることになる。

BREW プロジェクト (DLL ファイル)の作 成  Microsoft Visual Studio.NET 2003 を起動 。  メニューの [ ファイル ] - [ 新規作成 ] - [ プロジェクト ] を選 択し、 [Visual C++ プロジェクト ] を選択

 ウィザードの [ ステップ 1/2] では、 BREW アプリケー ションで使用する機能。以下のような機能がある。  今回は “ Hello World ” と表示するだけの単純なアプリケー ションでいずれの機能も使用しないので、何も選択せず に [Finish] ボタンをクリック。

BREW プロジェクトの内 容 BREW アプリケーション ウィザードが生成した ファイルを調べてみる。 Visual C++ の左側の [FileView] タブを見ると、三つのファイルが プロジェクトに追加されている。  AEEAppGen.c  AEEModGen.c  HelloWorld.c

* AEEAppGen.c と AEEModGen.c この二つのファイルは、 BREW アプリケーション ウィ ザードで 生成した複数の BREW プロジェクトから共有されるソー ス コードなので、不用意に編集してはいけない。 [FileView] で HelloWorld.c をダブルクリックして、この ファイルを開いてみる。

HelloWorld.c // // ユーザーがアプレットを起動要求したときに、呼び出されます。 // 開発者は指定されたクラス ID の BREW アプレットを作成して返すこ とで、 // BREW アプレットを起動します。 // int AEEClsCreateInstance( AEECLSID ClsId, // クラス ID IShell * pIShell, // シェル インターフェイス IModule * po, // モジュール インターフェイス void ** ppObj) // 作成したアプレットを返すポインタ { *ppObj = NULL; if (ClsId == AEECLSID_HELLOWORLD) { if(AEEApplet_New(sizeof(AEEApplet), ClsId, pIShell, po, (IApplet**)ppObj, (AEEHANDLER) HelloWorld_HandleEvent, NULL)) { return AEE_SUCCESS; } return EFAILED; }

// // HelloWorld アプレットのイベント ハンドラ // static boolean HelloWorld_HandleEvent( IApplet * pi, // アプレット構造体 AEEEvent eCode, // イベント コード uint16 wParam, // イベント パラメータ (16 ビット ) uint32 dwParam) // イベント パラメータ (32 ビット ) { switch (eCode) { case EVT_APP_START: // ここにコードを追加します。 HelloWorld_OnAppStart((AEEApplet*) pi); return TRUE; case EVT_APP_STOP: // ここにコードを追加します。 return TRUE; default: break; } return FALSE; }

BREW ウィザードが生成したコードは、 AEEClsCreateInstance() と HelloWorld_HandleEvent() という二つの関数。  AEEClsCreateInstance() は、ユーザーが BREW アプレット のアイコンを選択して起動したときに呼び出される関数。 開発者はこの関数内で BREW アプレットのデータ構造体 を作成して返す必要がある。  HelloWorld_HandleEvent() は、ユーザーが携帯電話のキー を押したり、アプリを終了させたりなど、さまざまな操 作を行ったときに呼び出される関数。

BREW アプレットの構 造  BREW アプレットは、 “ アプレット構造体 ” と “ イベント ハンドラ ” のペアで構成される。  アプレット構造体とは、 BREW アプレットがデータを 格納するための構造体で、そのアプレットでグローバル に使用する変数などを格納しておく。 BREW ウィザー ドが生成したコードでは、デフォルトで AEEApplet 構造 体が使用されている。  イベント ハンドラとは、 BREW 実行環境からのさまざ まな通知を受け取る関数で、ユーザーがキーを押したと きなどに呼び出される。 BREW ウィザードが生成した コードでは、デフォルトで HelloWorld_HandleEvent() 関 数が使用されている。

画面への描画 // // アプレットが開始したときに呼び出される。 // static void HelloWorld_OnAppStart(AEEApplet* app) { AECHAR text[] = {'H','e','l','l','o',' ','W','o', 'r', 'l', 'd', '\0'}; // 画面ビットマップに文字列を表示する IDISPLAY_DrawText(app->m_pIDisplay, AEE_FONT_BOLD, // 太字のフォント text, // 表示する文字列 -1, // -1 = 文字列をすべて表示する 0, // 無視される NULL, // クリッピングしない IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE); // 左右中央揃え、上下中央揃 え // 更新された画面ビットマップを表示する IDISPLAY_Update (app->m_pIDisplay); }

BREW エミュレータ用にコンパイル する すべてのファイルを確認。 Helloworld.bid と HelloWorld.mif は 他のファイルと同じ フォルダ内に入れておく。 コンパイルを行うには、 メニューから [ ビルド ] - [ ソリューションのビルド ] を選択。 ソースコードに誤りがなければ、正常にビルドが行われ、 アウトプット ウィンドウに次のようなメッセージが表示される。 HelloWorld.dll - エラー 0 警告 0 HelloWorld プロジェクト フォルダに、 HelloWorld.dll というファイルが作成される。

BREW エミュレータで実行する BREW エミュレータで動作させるためには、 HelloWorld.dll ファイルと HelloWorld.mif ファイルが必要。 この二つのファイルを次のような場所にコピー。  C:\Applet\HelloWorld.mif  C:\Applet\HelloWorld\HelloWorld.dll BREW エミュレータを起動。デフォルトでは BREW SDK の Examples フォルダにある BREW アプレットがエミュレータ画面 に表示されるので、エミュレータの読み取るフォルダを C:\Applet に変更する必要がある。 メニューから [ ファイル ] - [ アプレットディレクトリの変更 ] を選択 し、 [ フォルダの参照 ] ダイアログで C:\Applet フォルダを選択 して [OK] を押す。

最初のアイコンを選択した状態で画面に “ Hello World ” というタイト ルが 表示されていれば、 BREW エミュレータが MIF ファイルを認識して いる 証拠。この段階ではアプリケーション本体である.dll は実行されてい ない。 タイトルの "Hello World" というテキストは、 MIF ファイルの [ アプ レット ] タブの [ 名前 ] 項目に入力したものが表示される。 アイコンを選択した状態で Enter を押して、画面中央に太字で “ Hello World ” と表示されれば作成されたことになる。

今後の予定 BREW エミュレータの基本ツールを把握しておく。 また次回までに、 BREW API の基本的な使い方 についてサンプルプログラムを使い、学んでいく。 また、参考書を見て知識を深め、次回以降の オリジナルのアプリを作成するための構想を立て る。

参考資料 株式会社 ソフィア・クレイドル HP