Category Archives: DoJa

[DoJa Tips]Antを使ったビルド

ここのブログは、よく”DoJa”という検索キーワードでヒットすることが多いようですが、大して役に立つ記事は書いてませんでした。すんません・・・。

なので、もう少し有用なネタも残しておこうと思います。

註) 開発時点(2007/01)のバージョン(DoJa4.1、jdk1.4.2)をベースに話を進めます。

***

iアプリのビルドは、jarアーカイブの前に”事前検証(preverify)”という一手間が加わります。

また、一緒にjamファイルも生成(更新)しないといけません。

なので、普通はDoCoMo提供のiappliToolの画面から「ビルド」ボタンをポチっと押してビルドします。

でも、eclipse等のIDEでコーディングしてると、いちいち別ツールを立ち上げてビルドするのは結構な手間です。

というわけで、antで自動実行できるようにしました。

参考にしたのは、以下の記事です。

iアプリのサイズダウン作業をantで自動化する

私の場合は、7zipやproguardといったサイズダウン用のツールは使用しませんでした。

使わずともjarサイズが上限(30KB)に収まったことと、ツールの検証が間に合わなかったため、です。

***

よって、上記サイトを参考にbuild.xmlに書いたタスクは、以下のようになりました。

(○のついたもののみ)

但し厳密には、#3と#4の間にリソースファイル(resフォルダ配下)のコピータスクも追加しました。

× 1.テスト用クラス、テスト用コードの除去

○ 2.コンパイル

○ 3.ベリファイ

○ 4.一旦jar作成(proguardの入力がjarなので) ←(※1)。

× 5.proguardによる圧縮(jar→jar)

× 6.ベリファイするために一旦解凍

× 7.もう一回ベリファイ

× 8.7zipでjar作成

○ 9.jam作成

※1)Antのjarタスクだと、MANIFEST.MFが勝手に作られてしまい、微妙にjarサイズがデカくなるので、execタスクにして、外部コマンドのjarを”-cfM”オプション付きで実行し、MANIFEST.MFを作らないようにしました。

以上です。

DoJaでXMLぱーす

ちょっと仕事ネタです。

# 仕事以外のネタの方が食いつきが良いのは確かなんですが。ま、ちょっとした覚書です。しばしおつきあいください。

以前、当欄で”DoJaでスクロール”なるネタを書いたんですが、その続きです。

今回は、けーたいとサーバのやりとりをXMLでやろうと思ってまして。

で、普通はXMLを展開してくれるパーサっていう部品があるんですが、DoJa(4.1)のライブラリにはありません。(SunのMIDPにはJSR-172ナントカってのがあるんですが。)

そこで、ネットを探すと、どうやら、オープンソースのパーサはいくつかあるらしいというのがわかりましたが、どれもライセンスがややこしいので(後々お客様にご迷惑をおかけするとまずいし)。

悩んだ末、自前で作ってみることにしました。といっても、今回の業務用件に必要な機能に絞った、ごく簡単なものですが。

それでも、階層構造あり、繰り返しもありと、結構フルスペックなものになっちゃいまして。

しかも、当初、MapとListで木構造を作ろうと思ったんですが、DoJa4.1のベースのJ2MEには、HashTableとVectorしかなくて・・・。なんか一昔前に戻った気分でした。

とりあえずDOMツリーパーサもどきはできたので、明日はその逆をやってみようかと。

# ホントはソースとか載せられればいいんですが、まだ汚くて(^^;

DoJaでスクロール

今日、また次女が”とびひ”(次女に言わせると「とびひげ」になるから可笑しい)にかかっちゃいまして、午前休をとって病院へ。

もう少し涼しくなると、出なくなるんだけどね。

で、久々にお仕事の話。

現在、iアプリで業務端末画面を作るにあたって色々しらべてるんですが、十字キーを使った縦横のスクロールができないことが判明しまして。

正しくは、高レベルAPI(Panelクラス)の場合に限り、キー操作はフォーカス制御にあてられるため、キーイベントという形では発生しない仕様らしいのです。(詳しくは下記参照)

http://q.hatena.ne.jp/1153887492

ということで、画面をスクロールするには、低レベルAPI(Canvasクラス)で実装しなければならないようです。

低レベルAPIは、主にグラフィックを制御する際に使用するので、我々のような業務アプリ画面(たとえばログイン画面とか)しか作ったことがない人間には未知の世界。どっちかというとゲームプログラミングに近い感じです。

まぁ、リーダーからの要望も「ドラクエみたいに動かして」って感じなので、ある意味理にかなっているんでしょうが。楽しいような不安なような。

明日からチャレンジです。

i-あぷりでWEBサービスってできない?

お仕事でiアプリを作ることになりまして。

どうせやるなら、SOAPとかRESTでWEBサービスにアクセスするようにできないかと調べたんですが、どうも現在のdocomoさんのJava(Do-Ja4.1)ではできなさそう。auだったら”SOAP on BREW”とかいうミドルがあるらしいんですが。残念。

同じJavaでも、sun純正(?)のMIDP載ってる端末(主に海外)はSOAPできるみたいです。重ね重ね残念。

まー、WEB2.0だかなんだかで最近またWEBサービスが脚光浴びてきてるようでして。でも、ネットで探すと一昔前(2001年頃)の情報ばかりヒットするんです。最終更新日も2003年くらいでパッタリ止んでるところが多くて・・・。ホント、過渡期なんですね。来春あたりまでには、「ケータイでWEBサービス」は当たり前になってるかもしれません。

p.s.

お待たせしました。リーダー論に「反面教師 [1]」の続き(その2)をUPしました。

[1] http://www.digidrive.jp/leader_014.html