何か創りたい。
http://toshirr.blog13.fc2.com/
* Toshi's Recess Room - Toshi Creates. - オープンアプリ開発備忘録(i アプリからの移植含む)
<< 2017/03 - 2017/04 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 - 2017/05 >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ No. ]
[ 日時 : --/--/-- (--.) --:--:-- ]
[ カテゴリ : スポンサー広告 ]


オープンアプリ開発備忘録(i アプリからの移植含む)

前々から書きたいと思ってました。
オープンアプリ開発環境の構築・開発時に覚えておいた方がいいことについてです。
当然ながら受け売りの知識を多分に含みますが、それらを総合してまとめます。
au の携帯を持っているわけでもないので、間違いがありましたらご指摘ください...。

・オープンアプリとは。

オープンアプリプレイヤー上で動作する Java アプリケーションです。
で、そのオープンアプリプレイヤーは BREW 上で動作している BREW アプリです。
棲み分けとして、BREW は公式サイトが公開するアプリのプラットフォーム
オープンアプリプレイヤーは勝手サイト・個人が公開するアプリのプラットフォーム(というかアプリ)です。
具体的には JBlend という BREW アプリということです。ここら辺の概念は i アプリとは異なりますね。
(※追記:i アプリも JBlend で動いています)

・開発環境の構築。

念のため最新の JRE / JDK をインストールし、その上で J2ME Wireless Toolkit をインストールします。
私がインストールしたのは Wireless Toolkit 2.5.2 for CLDC です。

Eclipse で開発するためには EclipseME というプラグインが必要です。
これは Eclipse 本体のバージョンが古いと利用できませんので、3.5.1 Galileo をインストールします。
私は iDK が公式に対応している 3.1.2 を利用していましたが、これとは別にインストールするのもアレだったので、

  一旦 iDK をアンインストール
→ 3.1.2 を削除
→ 3.5.1 をインストール
→ 再び iDK をインストール

しました。とりあえず 3.5.1 でも iDK は問題なく動いているようですので、共存は可能です。
その上で EclipseME をインストールしました。
関係ないですが、3.5.1 の [ヘルプ] メニューに [ソフトウェア更新] という項目がありませんでした。
環境のせいかもしれません...。

その他もろもろの設定は色々あるのですが、端折りますと、
デバッガのタイムアウトを延ばす(時間が掛かることも考慮してか)、コンパイラの準拠設定を 1.4 にする、
デバイスの設定をインポートする、といったことです。
ここは自信を持ってこの設定がいいとは言える立場にありませんので、検索をお願いします...。

またこれは Eclipse 3.5.1 自体に関する話ですが、
i アプリを開発しているときに、[前回の起動を実行] の挙動が期待したものではなかったので、
オプションの [実行/デバッグ] - [起動] - [起動操作] で
[常に前回起動したアプリケーションを起動する] にするといいようです。
これでショートカット キー一つで実行できるようになりました。

i アプリのスクラッチパッドは、オープンアプリではレコードストアにあたります。
この動作をエミュレータで確認していたのですが、どうやらデータが保存されていない様子。
色々調べたところ、スタート メニューの Wireless Toolkit の Preferences で、
[ストレージ] のところに recordstore みたいな名前の設定をしておくと正常に保存されました。

・i アプリからの移植。

プログラムの根幹の部分に関してはさすがに修正が必要ですが、多くの部分は弄らずに済みます。
コレに関しては素直に「スゲェ」と思いました。Java なので当たり前かもしれませんが。
修正すべき部分として、ソフトキーのラベル(コマンドという概念に変えなければならない)、
キー入力取得(こちらもコマンドに関わる部分あり)が主になるかと思います。
それ以外、例えば私が開発しているゲームではゲームのベースになっているシステムに関しては修正不要でした。
繰り返しになりますが、この部分の修正が全く必要なかったのは大きいです。

ひとつ、startApp / pauseApp の扱いには注意してください。
i アプリは他のタスクから復帰するときは単に中断されたところから再開するだけ
(訂正)resume メソッドから再開するのですが、
オープンアプリは起動時と同じくここでも startApp を通るようです。

i アプリと違ってリモート デバッグではなく直接デバッグできて楽ですね。

・Web への公開。

正直 i アプリの方が楽です。
まず JAD ファイルを編集しなければならないのですが、下記のような内容で OK でした。


MIDlet-1: ***,,***
MIDlet-Jar-Size: ******
MIDlet-Jar-URL: ***.jar
MIDlet-Name: ***
MIDlet-Vendor: Toshi
MIDlet-Version: 0.8.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0


Eclipse 上で編集できます。MIDlet-Jar-Size は自動で入力されるはずです。
注意すべきなのは、MIDlet-Jar-URL は JAD ファイルから見た相対パスでなければならないこと。
JAD ファイルを開いて正常にエミュレータが実行されればエラーはないと見ていいでしょう。

後は Eclipse のパッケージ・エクスプローラでプロジェクトを右クリックし [J2ME] - [Create Package] を選択。
deployed フォルダに作成された JAD / JAR ファイルをアップロードします。
なお、Web ページからダウンロードできるようにする記述は下記のようなものになります。

<a href="device:jam?http://www.example.com/JAD.jad">ダウンロード</a><br>

ここでは JAD ファイルへの絶対パスにしなければならないところに注意が必要です。
また、サーバーの MIME 設定に手を加えなければなりません。

AddType text/vnd.sun.j2me.app-descriptor .jad
AddType application/Java-archive .jar

このような内容の .htaccess を置くのが手っ取り早いです。
こういうことができるサーバーでなければ公開できないんですね。

今のところ書くべきことはコレぐらいかなぁと考えています。
スポンサーサイト

[ No. 886 ]
[ 日時 : 2009/12/23 (Wed.) 00:22:40 ]
[ カテゴリ : プログラミング ]
[ コメント : 0 ]
[ トラック バック : 1 ]


コメント


コメントの投稿









トラック バック

[ No. 9 ]
[ ブログのタイトル : http://www.valras-plage.net/sytropin-review/ ]
[ 記事のタイトル : http://www.valras-plage.net/sytropin-review/ ]
[ 日時 : 2016/12/05 (Mon.) 21:36:22 ]

オープンアプリ開発備忘録(i アプリからの移植含む) - Toshi Creates.


トラック バック URI

http://toshirr.blog13.fc2.com/tb.php/886-d5e6ed11


前後の記事

プロフィール

Toshi

  • Author:Toshi
  • 何かを創りたい Toshi の記録


ブログ内の検索


最近の記事


最近のコメント


最近のトラック バック


カレンダー

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -


月別の記事


カテゴリ別の記事


RSS フィード


<< 2017/03 - 2017/04 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 - 2017/05 >>
* Toshi's Recess Room - Toshi Creates. - オープンアプリ開発備忘録(i アプリからの移植含む)
http://toshirr.blog13.fc2.com/
(C) 2005 - 2009 Toshi, All Rights Reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。