>> i's SQUARE >> Javaのノウハウ >> iアプリ

iアプリ 〜愛αppli



■開発に必要なソフトウェア

JDK(1.3以上)
 サン・マイクロシステムズ株式会社が提供しているJava開発者向けツールキット。
 Javaコンパイラー、Javaアーカイバーが含まれている。

J2ME Wireless SDK for the DoJaX.X
 iモード対応Javaアプリケーションの開発をサポートするためのツール。
 事前検証ツール・PC上のエミュレータ・SJISエンコーダなどが含まれている。



■iアプリが爆発的に広まった背景

iアプリの登場当初は、アプリ実行ファイルのMAX容量がたったの10Kという制限があり、 当然やれることが限られてました。
が、逆にこの10Kの制限がプログラマー魂を刺激しました!
勝手アプリ開発者は、この限られた制限の中で、やりたい事をいかに実現させるか? どうやって表現するか?いかに面白く完成度の高いものを作るか? と頭を回転させながら熱く萌えました!
限界にチャレンジする姿に次々とコーダーは触発され、爆発的に広まりました。

また、10K程度なら時間をかけずに誰でも作成しやすい点や公式・非公式問わず 全てのAPIを一般的に公開し誰でも使用出来る点 (DXになると公式サイトのみしか使用できないAPIが多々あります) も爆発的に広がった一因です。


■iアプリの雛形

import com.nttdocomo.ui.IApplication;

public class test extends IApplication{
  public void start(){

  /* ここに処理の内容を書く  */

  }
}
何となく雛形をのせましたが、基本的なコードの書き方については以下のサイトか書籍で学んでくださいw

▼DoJaでのアプリ作成手順
http://www.atmarkit.co.jp/fmobile/rensai/doja02/doja02.html

▼サンプルがたくさん
http://www.antun.net/tips/mobile/ijava.html

▼開発方法や通信系のサンプル
http://www.sinsen.org/i/index.html

●お勧めの書籍



●開発に役立つリンク集

▼機種依存情報
http://www.saturn.dti.ne.jp/~npaka/ibook2/izon.html

▼携帯アプリの容量削減方法
http://www.antun.net/tips/mobile/reduction.html


■ノウハウ/メモ

◆容量削減を図る
・クラス数を少なくする。
⇒オブジェクト思考でプログラムを組まない(Javaの理念に反する、時代に逆行したプログラミングで作成する)
・変数の文字数を少なくする。

◆通信系アプリ
・エンコード処理とconn.setRequestProperty("Content-Type", "text/plain");を入れる!
・POSTを使う場合は、サーバ上のCGIは必ずレスポンスを返さなければならない!GETの場合はレスポンスを返さなくても良い。

◆JAMファイルについて(ADF設定)【詳細はこちらのサイトが超お勧め!】
・AppVer[アプリのバージョン]→例:1.1.2
・KvmVer [KVMのバージョン]
・AppParam→スペースで区切られた複数のパラメータ文字列をアプリに渡す。IApplication#getArgs()で貰う。
・TargetDevice[対応機種]→無記入の場合は全機種対応。例:N503i
・LaunchAt[エージェントの起動時間]
・UseNetwork→ネットワークを利用する場合はhttpと入力する。
・SPsize[スクラッチパッドのサイズ]

◆バグについて
・P503iの4月バグ
⇒LastModifiedに「Apr」と設定した場合エラーとなる。 「Apr」ではなく「Apl」と設定するとなぜか動く。
・SO503iのスクラッチパッドセキュリティホール
⇒SPsizeを0からそれ以上へバージョンアップした場合に 他のアプリの保存領域を確保してしまう。

◆N504iの機種でたまにフリーズする(動作が数秒とまってしまう)
・定期的にSystem.gc()を実行することで解決

◆絵文字を簡単に使いたい
・例:String emoji="\u????";
⇒????にはunicodeを記述する。例えばチューリップ絵文字のunicodeは「E742」なので\uE742となる。

◆JAMファイルに引数を渡したい!
・手順1
.htaccessに「AddType application/x-httpd-cgi .jam」と記述してjamファイルの扱いをcgiと同様にする。
・手順2
jamファイルへのリンクを記述する時、jamファイルの名前の後ろは必ずダミーとして&.jamを追加する。
例: <OBJECT declare id="test" data="test.jam?hikisuu1=$tmp[0]&hikisuu2=$tmp[1]&.jam" type="application/x-jam"></OBJECT>
・手順3
jamファイルやjamファイルへのリンクのページをPerlなどのCGIで記述して変数を渡す。


そなたのために、たとえ世界を失うことがあっても、世界のためにそなたを失いたくない。
by バイロン