Eclipse + DoJa で iアプリ制作環境をつくる

ドコモの携帯電話にのっている、iアプリと呼ばれるプラットフォームの制作環境をつくるメモです。

iアプリも、でてから結構たつのでなかなかのものに育っていますね。 自分の携帯電話で自分のアプリケーションが動くのは結構快感です。

とりあえず、概要から下調べ。 iアプリとは。

  • Sun Microsystems Java 2 Platform, Micro Edition (J2ME) の CLDC 1.0 / 1.1 に準拠したアプリケーション実行環境。
  • CLDC でドコモの携帯電話を動かすためのクラスライブラリがドコモから提供されていて、これが DoJa。

っていう感じのようです。

てなわけで、とりあえずドコモから DoJa の SDK をダウンロード。 機種別にプロファイルがいろいろありますが、最近の機種なら DoJa 5.0 / 5.1 です。

作ろうiモードコンテンツ : iアプリコンテンツの概要 | サービス・機能 | NTTドコモ

DoJa-5.0プロファイル向けiアプリ開発ツールのダウンロード

この SDK の中に、Eclipse のプラグインが入っています。 3.0 / 3.1 用となっていますが、ぼくは 3.3 にいれてみる。。 どこかではうまく動かないとありましたが、とりあえず hello, world くらいは動くようです。(深く使うとダメなのかも)

DoJa のセットアップは流れに身を任せる。 ルートにはいっちゃいますが、むかしルート以外で動かしてなにかうまくいかなかったので、ここはルートで。

で、Eclipse から、新規プロジェクトで Java -> DoJa します。

Java プログラムには何はなくとも javadoc。 DoJa 側はドコモにあります。 J2ME CLDC の日本語ドキュメントは以下にあります。 (maq さんありがとうございました!)

Sun Developer Connection – Wireless

CLDC 仕様 日本語版ダウンロード

CLDC 1.0 のものですが(いまは CLDC 1.1)、ほぼかわらないので問題ないと思います。

で、javadoc ロケーションをライブラリ .zip に割り当てると、Eclipse 上でホバーしたり F2 でひけるようになります。 とくに、CLDC は J2SE にくらべて使える標準クラスがすくないので、普段普通の Java やっているかたは javadoc 要チェックです。

DOJA_CLASS_ZIP には、CLDC の javadoc を、DOJA_DOJACLASS_ZIP には、DoJa の javadoc を割り当てます。 それぞれ、右クリックしてプロパティから javadoc location のパス (index.html のありか) を指定すれば OK です。

image

それから、Java の実行準拠を 1.3 相当にします。 プロジェクト右クリック、プロパティから、Java コンパイラ設定。

image

互換レベルを 1.3 に変更。

次に、実行環境を整えるためにプロジェクト名に必ずカーソルをおいてから、プロジェクト -> DoJa -> AFD/トラステッド設定。

image

AppName (任意の名前)と、AppClass を入力。 AppClass は start() メソッドをもつクラスで、パッケージ使っているのならパッケージ名もいれます。

net.maple4ever.doja.djrasen.DjRasen

とかです。

あとは、実行メニューから DoJa の実行プロファイルをつくって、

image

Run で動くはずです。(もちろん事前にソースはかいてください(笑))

もし “com.nttdocomo.eclipse.DoJaBuildException: Failed create jar” がでて実行できない場合は、JDK の bin にパスを通してください。(どうやら jar コマンドを内部的に呼び出しているようです)

image

端末エミュレーションもいろいろ設定できます。 上のスクリーンショットの解像度は最新機種 905 系の VGA 解像度(赤丸のところがエミュレートされている画面)。 PC でみてもかなりのインパクトがありますね。 いいわぁ。 🙂

昔は 10K とかの jar しか動きませんでしたが、最近は 1M くらいまで OK みたいでかなりいろいろできそうです。

ためしに、オープンソースの J2ME 準拠の XML パーサコンパイルしてみたら、ちょっと修正するだけでうまくいったじゃありませんか!。(これで jar のサイズが 65K くらいです)

About kXML

kXML is a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices. In contrast to kXML 1, kXML 2 is based on the common XML pull API.

ほんとは、XML じゃなくて YAML 使おうとおもったんですが、簡単に J2ME で動きそうなのがなくて困っていたら、Java のミニパーサ系は XML のほうがいけてました。いまはパケット定額のひとも多いし、ドコモはハイスピードつかえるしだから、XML でいいかもしれないですね。

これで、Web サーバと XML で通信させあえば結構面白いことができそうです。 携帯電話ローカルに保存するデータも、大容量 miniSD とかにおけるので自由度は高いです。

iアプリって、なんだか closed ソースが多くて、なかなか参考にするものも少ないのですが、クラスライブラリはなかなか使いやすいと思いますので、知恵と勇気でがんばりましょう。 🙂

WordPress の流れをくんだフォーラムアプリ bbPress

WordPress の公式フォーラムでも使われている bbPress といういわゆるスレッド式のフォーラムアプリがあります。 ぼのさんのところで紹介が開始されたので、僭越ながら .another でも続いてみます。 🙂

bbPress は、RSS やタグ等いまどきのユーザーインターフェースを取り入れたログイン制のフォーラムを構築するアプリケーションです。 WordPress との親和性も高く(実際に運用したことはないですが)、WP のユーザ情報を共有するような使い方もできるようです。

あれは1年前。 aka さんkohaku さんで一時期 bbPress で遊んでいたのですが、実はまだそのときローカライズがうまく動作していなくて、bbPress のフォーラムをみたら、同じように困っている人が多数。

[tegaki]やってやるぜ[/tegaki]

といったかどうかは忘れましたが、ごにょごにょパッチして本家に突撃。

Are there any localization files? « bbPress support forums

aka

Hi. A few japanese users and I are trying to localize.

というわけで、無事ローカライズされたのでありました。 🙂

これがそのときの、おそらく日本で初めてのローカライズされた bbPress の画面です。

image

実は、WP と bbPress のプログラムの内容は似通っているので、WP をいじっているひとであれば、このように容易にハック可能です。(gettext とかも同じソースが include されていたため、簡単にロジックが追えたのです)

またプラグインのロジックも同じようにフィルターとかアクションの考えがそっくりそのまま持ち込まれているので、フィルター系のプラグインであれば WP のものが簡単に移植できるでしょう。

現在はパッチが本体に取り込まれ、また tai さんが言語ファイルをつくられていていますので、すぐに日本語化も可能です。

インストールについては、ぼのさんのところで非常に詳しく説明されています。

power source* » bbpress: XREA サーバへの設置 1) インストール編

フォーラムシステム bbPress を XREA s206 サーバにインストールしてみた。現時点での最新版は 0.8.3.1。

まだ、1.0 になっていないアプリですが、WordPress 本家で使われているフォーラムシステムですので、まぁまぁうまく動くのではないかと思います。

好きなスレッドの RSS をつくれたり、ログイン別にお気に入りをつくれたり、少し大きめなフォーラムでは便利な機能も多いですので、そういう場合はみてみるといいかもしれません。 🙂

サイトに歴史あり Since 2000 ~

ここ hiromasa.anoter の前身サイト hiromasa.zone は、2000年から存在するサイトです。 8歳年下のぼくは、なにをやっていたのか! Internet Archive を使ってプレイバック! タイムカプセルを掘り起こす並に面白い。 🙂

まずは、2000 年のぼくから・・・。

2000hiromasazone

・・・。 table レイアウトで角丸をつくりたかっただけのサイトに違いない(笑 ちなみに、トップをつくって満足。 その後更新されることはありませんでした。。 裏で、Perl のスクリプトがいくつか存在していただけのサーバでありました。

時は流れて 2002年。 2歳育ちました。

2003.hiromasazone

どうやら、W3C に目覚めたことが画面下のリンクやら、お知らせの文言から分かります。 ちなみに、このとき不定期日記というのが存在。 自分で書いた Perl の掲示板スクリプトを改造した物で、携帯からの投稿とかもできるようにしたにもかかわらず、ほとんど更新されることはありませんでした。。 orz

免責事項の文言とか、むかしっぽい記述もみうけられ若干ハズカシイ。。

続けて、2003 年を見てみましょう。

2004.hiromasazone

微妙に更新されています。 Fedora CORE 1 と Eclipse に目覚めているようです。 ってことは、もうこいつらとは 5年の付き合い?。 Redhat9 が無償化した Fedora 1 は結構良くできていたので、1年くらい使っていた覚えがあります。 Firefox の名前は、まだ Phoenix だったか、Firebird だったか。

で、ほぼこのままで 2005年。

200501.hiromasazone 

閉鎖(笑)。 というのも、サーバのディスクがとんだんですね~。 まぁ、うらでいろいろファイルおいていたりしたので、きれーさっぱり、すっきり。

で、その後なぜか 2005 年に geocites に移行。 このサイトはまだあります。 たしか、geocites が Yahoo! geociteis になって、むっかしとったアカウントを思い出して、そこに動きました。

わりと geocities にいろいろ書いているうちに調子が出てきて、hiromasa.zone を復活させようかと思い立つ。 で、できた。 なんか世間ではブログが流行っているらしい。 サイトに組み込んでみたいけど、いいのあるのかな。。

PHP MySQL ブログ

ってやったら WordPress に出会う。 🙂 なんか、PHP いじればデザインいろいろ変更できそうだ・・・、PHP とかよーわからんかったけど、適当にいじったらできたのでした。(ちなみに 1.2 のころなので、まだテーマの考え方がなかった)

2005 年、WordPress がはいった hiromasa.zone 完成。 🙂

200502.hiromasazone 

このころの hiromasa.zone を知っている人はレアかもしれません。 いまと基本は変わっていませんが、リキッドデザインでした。 たぶん、kohaku さんとか yutaka さんとか、Masayan さんがご存じかと思います。

WP はいんちきして適当にやっても動くので、ひろまさ向きで気に入ったのでありました。 で、しばらくしてリキッドデザインだと自分で使いにくいという、衝撃の事実に気づく。

2006 年。 デザイン変更。

2006.hiromasazone

ほぼ現在とかわらぬ hiromasa.zone が完成。 Otsukare さんからリンクもらったりして調子に乗り現在に至る。(笑

う~ん、おもしろいですね。 みなさんも記念にやってみてください。 🙂

これからも hiromasa.zone & hiromasa.another よろしくお願いいたします。 ちなみに、いまは .zone 、MySQL の関係で落ちています。。