iアプリ - (2008/12/12 (金) 23:45:56) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*iアプリ
#contents
**DoJaプロファイルとの互換性について
-バイナリ互換機能によりDoJa-5.1相当のアプリを実行可能
--現在公開されているiアプリをそのまま利用できる
--この機能は当面の間だけであり、今後無くなる可能性がある
-DoJaアプリ実行時の制限
--DoJaアプリからの連携起動ではDoJaアプリしか起動できない
--連携起動時の最大パラメータサイズが異なる
--DoJaアプリは待ち受け起動できるがStarアプリはできない
---ただし同様の機構は存在する(iWidgetのみ)
-DoJaアプリかStarアプリかはADFのAppTypeキーの有無によって判別される
**Starプロファイルでの新機能・変更点
***基本事項
-DoJa-5.1に対する機能追加
--既存クラスは基本的に残っている
--一部オプションAPIが基本APIになった
-基本APIからいくつかのクラスが削除された
--IApplication/MApplication
--GPSLocationProvider
--MediaData
--OwnerProfile
--ShortTimer
--3Dオブジェクト全般
-オプションAPIで対応が少なかったクラスが削除された
--AudioPresenter2
--Camera2
--IlluminationDisplay
--IrReceiver
--PedometerSettings
--PictureLight
--Pulsemeter
--RadioTuner
--SpeechSynthesizer / SpeechListener
--Sprite / SpriteSet
--SubDisplay
--TransparentImage
-パッケージ名が変更になった
--com.nttdocomo → com.docomostar
--アプリによってはimportと起動クラスを書き換えるだけで移行できる
---importのcom.nttdocomoをcom.docomostarに置換
---起動クラスのextendsをIApplicationからStarApplicationに変更
---起動クラスのvoid start()をvoid started(int launchType)に変更
-アプリ形態は大きく分けて3つ
--フルアプリ(iアプリ)
--ミニアプリ(iWidgetまたはウィジェットアプリ)
--フル+ミニアプリ(上記2つを1つのパッケージにしたもの)
-フル+ミニアプリの場合、スクラッチパッド(scratchPad:///0)を共有可能
-ミニアプリの制限
--UI絡みのオプションAPIがほぼ使用不可
--基本APIのオプション機能は一部使用不可
--JARが50KB、スクラッチパッド(scratchPad:///0のみ可)が200KBに制限
--ソフトキーは2つのみ制御可能(残りはWidgetViewが使用)
--領域サイズは440x80, 320x240, 240x320, 160x160のみ
---ただしフェイス画像によりさらに小さくしたり角を丸めたりできる
---一覧表示状態では上記サイズから60%程度に縮小されて表示される
--ミニアプリは同時実行できるが動作が競合した場合は基本的に後発が無効になる
--ヒープがフルアプリに対して1割程度となる
***IApplication, MApplication
-StarApplicationに統合された
-IApplicationのJAM寄りの機能はStarApplicationManagerに移行
-IApplicationの起動系機能はLauncherに移行
***Font
-デフォルトフォントが24ドットになった
-Font.getSupportedFontSizes()が基本APIになった
--代わりにgetFont(int type)とサイズ関係の定数が無くなった
--実質24ドット以外に確実に使えるサイズが無いことになる
---DoJaの場合は12/24ドットが確実に使用できた
***Frame
-ソフトキー4つを制御可能
--それぞれのキーイベントの取得とラベルの設定が可能
--DoJaでは左上と右上の2つだけだった
-方向キーの矢印の表示/非表示設定
-決定キーのラベル設定
***Canvas
-Canvas#imeOn()の定数をCanvasが持つようになった
-Canvasが初めてカレントに設定されたときにCanvas#init()が呼ばれるようになった
***Display
-ソフトキー3/4を示す定数の追加
--定義値はKEY_SOFT1, KEY_SOFT2とは連続していない
KEY_SOFT3, KEY_SOFT4
-TouchDeviceのイベントを示す定数の追加
TOUCH_MOVEDEND_EVENT, TOUCH_MOVEDSTART_EVENT, TOUCH_PRESSED_EVENT, TOUCH_RELEASED_EVENT
-KEY_IAPP(待ち受けiアプリの切り替えキー)が無くなった!
--F-01Aの場合はKEY_CLEAR(オプションAPI)として取得可能
--DoJaプロファイルでは問題なく取得可能
-斜め入力を示す定数の削除
KEY_UPPER_LEFT, KEY_UPPER_RIGHT, KEY_LOWER_RIGHT, KEY_LOWER_LEFT
-オプションAPIまたは予約定義になっていた定数の削除
KEY_MENU, KEY_I_MODE, KEY_PHONE_BOOK, KEY_CALENDAR,
KEY_MANNER_MODE, KEY_DRIVE_MODE, KEY_MY_SELECT,
KEY_CAMERA, KEY_CAMERA_ZOOM_IN, KEY_CAMERA_ZOOM_OUT,
KEY_CAMERA_SELECT, KEY_CAMERA_LIGHT, KEY_CAMERA_SHOT
***CodeReader
-Code 128を示すコード種別の追加
--基本的にCODE_128をsetCode()して読み取り、getResultCode()で種類を調べる
CODE_128, CODE_128_GS1, CODE_128_AIM, CODE_128_GENERIC
***PhoneSystem
-次の状態を取得可能になった
--電源状態(バッテリ/外部電源)
--電波状態(圏外/アンテナ0~1本/アンテナ2本/アンテナ3本)
-電池残量をより詳細に取得できるようになった
--DEV_BATTERY_LEVELの値が0~DEV_MAX_BATTERY_LEVELの値を返すようになった
---ただし外部電源使用時は-1を返すので注意
--機種によっては4段階以上の情報が得られる可能性がある(エミュレータでは100段階)
int bat_level = PhoneSystem.getAttribute(PhoneSystem.DEV_BATTERY_LEVEL);
int bat_max = PhoneSystem.getAttribute(PhoneSystem.DEV_MAX_BATTERY_LEVEL);
String msg = "電池残量は" + (bat_level * 100 / bat_max) + "%です。";
***[新] StarApplication
-DoJaのIApplicationに相当する
--このクラスのインスタンスが生成され、started()が呼び出される
***[新] ImageReference
-通常よりも省メモリな画像クラス
--初回の描画時に画像を内部形式に変換する
--変換したデータをキャッシュできる
***[新] MediaMovie
-動画のMediaResource
--かつては(名前に反して)MediaImageが使われていた
-NativeMoviePlayerで再生可能
***[新] NativeMoviePlayer
-ネイティブの動画プレイヤーでMediaMovieを再生する
-URLを指定しての擬似ストリーミング再生も可能
--再生完了後に動画をMediaMovieとして取得できる
***[新][任] FlashPlayerPane
-Flash再生用のFrame(フルスクリーン)
-オプションAPI
***[新][任] Synthesizer
-シンセサイザ制御を動的に制御して音を鳴らす
-オプションAPI
***[新][任] TouchDevice
-タッチパネル制御
--タッチ&リリース、ムーブの開始と終了を検出可能
-エミュレータではクリックで簡単にテストできる
-オプションAPI
***[新][信] ByteArrayClassLoader
-Jar形式のバイト列から動的にクラスをロードする
--クラスを使うにはClass.forName()する
-トラステッドアプリ専用
***[新][信] Contents
-マイメニューへの登録/削除を行う
-トラステッドアプリ専用
***[新][信] Invitation
-他の端末内のStarアプリを起動する
--端末内にアプリがない場合はサイトへ誘導したり直接ダウンロードさせたりできる
-対象は電話番号で設定する
--相手の電話番号が電話帳に登録されていないと例外が発生する
-トラステッドアプリ専用
***[新][信] PhoneTheme
-待ち受けなどの各種画像やメニューのテーマを設定する
--DoJaではPhoneSystemの機能だった
-トラステッドアプリ専用
***[新][信][任] RawImageCapture
-カメラを使ってRAW画像を取得する
-トラステッドアプリ専用 / オプションAPI
***[新][信] SocketConnection
-TCPによって通信を行う
-クライアント/サーバ型とPeer-to-Peer型の接続が可能
-トラステッドアプリ専用
***[新][信] UDPDatagramConnection
-UDPによって通信を行う
-クライアント/サーバ型とPeer-to-Peer型の接続が可能
-トラステッドアプリ専用
**F-01Aのiアプリのスペック
-[[NTTドコモ:iアプリ>http://www.nttdocomo.co.jp/service/imode/make/content/spec/iappli/index.html]]
***Starプロファイルでのスペック
|項目|値|
|Star構成|StarProfile-1.0|
|CLDC構成|CLDC-1.1|
|アプリサイズ|2048KB|
|画面領域|480x864ピクセル|
|Javaヒープ|23552KB|
|ネイティブヒープ|8192KB|
|Widgetヒープ|2503KB|
|機種名|F01A (F-01Aではない)|
|標準フォントサイズ|24x24ドット|
|拡張フォントサイズ|12, 16, 24, 30, 32, 48, 60ドット|
|フォントスタイル|DoJaプロファイルの項を参照|
|タイマ分解能|10ミリ秒|
|キーの取得|基本APIのキーに加えて次のオプションAPIのキーが取得可能: &br() クリアキー = Display.KEY_CLEAR(=0x20) &br() サイドキー▲ = Display.KEY_PAGE_UP(=0x1e) &br() サイドキー▼ = Display.KEY_PAGE_DOWN(=0x1f)|
|コードリーダ|自動識別 / JAN8 / JAN13 / QRコード / NW-7 / CODE-39 / FPコード / Code 128(4種類すべて) &br() FPコードについてはDoJaプロファイルの項を参照|
***DoJaプロファイルでのスペック
|項目|値|
|DoJa構成|DoCoMoProfile-5.1(バイナリ互換機能)|
|CLDC構成|CLDC-1.1|
|アプリサイズ|1024KB|
|画面領域|480x864ピクセル|
|Javaヒープ|23552KB|
|ネイティブヒープ|8192KB|
|機種名|F01A (F-01Aではない)|
|標準フォントサイズ|12x12ドット|
|拡張フォントサイズ|12, 16, 24, 30, 32, 48, 60ドット|
|フォントスタイル|すべてのタイプ/スタイル/サイズが使用可能(太字 / 斜体 / 太字斜体 / 見出し) &br() Font.FACE_PROPORTIONALで携帯のフォントを描画できる(ダウンロードフォント含む) &br() プロポーショナルフォントのみの文字もある模様。 &br() &ref(type_chars.gif) &ref(hidden_chars1.gif) &br() &ref(hidden_chars2.gif) &ref(hidden_chars3.gif) |
|タイマ分解能|10ミリ秒|
|キーの取得|基本APIのキーのみ|
|コードリーダ|自動識別 / JAN8 / JAN13 / QRコード / NW-7 / CODE-39 / FPコード &br() [[FPコード>http://jp.fujitsu.com/solutions/fpcode/]]はCodeReader#setCode()でCodeReader2.CODE_FPを設定しないと読めないが、 &br() 読み取れるのは12桁または24桁の数字データなので、実用には何らかの変換表が必要。|
**F-01AのオプションAPI対応状況(トラステッド除く)
***Starプロファイルでの対応状況
|クラス名|対応|用途|備考|
|>|>|>|&strong(){Star-1.0 基本API}|
|AccelerationSensor|×|加速度センサー||
|AudioTrackPresenter|○|動画の音声のみを再生||
|CertificateStore|○|証明書機能へのアクセス||
|Compass|×|電子コンパス||
|DTVSchedule|○|ワンセグ予約登録||
|Felica|?|フェリカ|恐らく○|
|FlashPlayerPane|○|Flash再生用Frame|Star新規クラス|
|MovieStore|×|動画の選択と登録||
|RollReader|○|ロール動作認識||
|ShakeReader|○|シェイク動作認識||
|StorageDevice|?|ストレージデバイスへのアクセス|恐らく○|
|TorucaStore|○|トルカ管理機能にアクセス||
|>|>|>|&strong(){Star-1.0 オプションAPI}|
|Canvas2|×|90度回転できるCanvas||
|FingerprintAuthenticator|○|指紋認証||
|Graphics2|○|Graphicsより高度な描画||
|Math|○|数値計算(三角関数と平方根)|静的メソッドのみ|
|MediaPlayer|×|SD内の動画を直接再生||
|Pedometer|○|歩数計からの情報取得||
|PhoneResource|?|LED表示部の制御|恐らく×|
|PointingDevice|○|ポインティングデバイス||
|Synthesizer|×|シンセサイザの制御|Star新規クラス|
|TouchDevice|×|タッチパネルの制御|Star新規クラス|
***DoJaプロファイルでの対応状況
|クラス名|対応|用途|備考|
|>|>|>|&strong(){DoJa-5.1 基本API}|
|AccelerationSensor|×|加速度センサー||
|AudioTrackPresenter|○|動画の音声のみを再生||
|CertificateStore|○|証明書機能へのアクセス||
|Compass|×|電子コンパス||
|DTVSchedule|○|ワンセグ予約登録||
|Felica|○|フェリカ||
|MovieStore|×|動画の選択と登録||
|OwnerProfile|×|マイプロフィールのデータへのアクセス||
|RollReader|○|ロール動作認識||
|ShakeReader|○|シェイク動作認識||
|StorageDevice|○|ストレージデバイスへのアクセス||
|TorucaStore|○|トルカ管理機能にアクセス||
|>|>|>|&strong(){DoJa-5.1 オプションAPI}|
|Canvas2|×|90度回転できるCanvas||
|FingerprintAuthenticator|○|指紋認証||
|Graphics2|○|Graphicsより高度な描画||
|IlluminationDisplay|?|イルミネーション|恐らく×|
|Math|○|数値計算(三角関数と平方根)|静的メソッドのみ|
|MediaPlayer|×|SD内の動画を直接再生||
|Pedometer|○|歩数計からの情報取得||
|PhoneResource|?|LED表示部の制御|恐らく×|
|PictureLight|×|ピクチャーライト||
|PointingDevice|○|ポインティングデバイス||
|RadioTuner|×|ラジオの制御||
|SpeechSynthesizer|△|文字列の読み上げ|getSpeechSynthesizer()が例外を吐かないがnullを返す|
|SubDisplay|×|サブ画面の制御||
|TransparentImage|×|透過画像|Imageでほぼ代用可能|
*iアプリ
#contents
**DoJaプロファイルとの互換性について
-バイナリ互換機能によりDoJa-5.1相当のアプリを実行可能
--現在公開されているiアプリをそのまま利用できる
--この機能は当面の間だけであり、今後は無くなる可能性がある
-DoJaアプリ実行時の制限
--DoJaアプリからの連携起動ではDoJaアプリしか起動できない
--連携起動時の最大パラメータサイズが異なる
--DoJaアプリは待ち受け起動できるがStarアプリはできない
---ただし同様の機構は存在する(iWidgetのみ)
-DoJaアプリかStarアプリかはADFのAppTypeキーの有無によって判別される
**DoJaからStarへ移行するメリットとデメリット
***Star移行のメリット
-iウィジェット(ミニアプリ)を作成できる
-Flashと連携できる(FlashPlayerPane)
-ソフトキーを4つ使用できる
--DoJaでは左上と右上の2つのみ
-決定キーにラベルを設定できる
--決定キーの機能を明確にできる
-方向キーの矢印の表示
--方向キー使用可否やスクロール有無を示せる
-対応フォントサイズの増加
--12/16/24/30/32/48/60ドット+拡張サイズが使用可能
--DoJaで確実に使用できるのは12/24ドットのみ(他のサイズは機種依存)
-タッチパネルを利用できる(TouchDevice)
-シンセサイザを動的制御できる(Synthesizer)
-トラステッド機能の強化
--iアプリオンラインを利用できる(SocketConnection/UDPDatagramConnection)
--iアプリコールを利用できる(Invitation)
--アプリからマイメニュー登録ができる(Contents)
--独自クラスの組み込みが可能(ByteArrayClassLoader)
---クラスを外部から取得して組み込める
---拡張機能をネットワークから取得するなどの使い方が可能
***Star移行のデメリット
-ソースの手直しが必要になる
--ただしDoJa-5.1からの単純移植であれば比較的簡単に移行可能
--詳細は[[iアプリ開発Tips]]を参照
-待ち受けアプリケーションが作成できない
-現状では対応端末が少ない
--905iや906iの値下げもあるためなかなかユーザが増えない?
-一般開発者にとっては新規クラスが少なく機能規制緩和も無い
**F-01Aのiアプリのスペック
-[[iアプリのスペック]]を参照
**F-01AのオプションAPI対応状況
-[[API対応状況]]を参照
**Starプロファイルにおいてのiアプリ開発Tips
-[[iアプリ開発Tips]]を参照
**DoJa5.1→Star1.0の変更点
-[[DoJa5.1→Star1.0]]を参照
**Star1.0→Star1.1の変更点
-[[Star1.0→Star1.1]]を参照
**Star1.1→Star1.2の変更点
-[[Star1.1→Star1.2]]を参照
**Star1.2→Star1.3の変更点
-[[Star1.2→Star1.3]]を参照
**Star1.3→Star1.5の変更点
-[[Star1.3→Star1.5]]を参照
**Starプロファイルでの新機能・変更点
***基本事項
-DoJa-5.1に対する機能追加という位置づけ
--既存クラスは基本的に残っているが削除されたものもある
--一部オプションAPIが基本APIになった
--詳細は[[DoJa5.1→Star1.0]]を参照
-パッケージ名が変更になった
--com.nttdocomo → com.docomostar
--アプリによってはimportと起動クラスを書き換えるだけで移行できる
---importのcom.nttdocomoをcom.docomostarに置換
---起動クラスのextendsをIApplicationからStarApplicationに変更
---起動クラスのvoid start()をvoid started(int launchType)に変更
---詳細は[[iアプリ開発Tips]]を参照
-アプリ形態が大きく分けて3つに増加
--フルアプリ(iアプリ)
--ミニアプリ(iWidgetまたはウィジェットアプリ)
--フル+ミニアプリ(上記2つを1つにパッケージしたもの)
---フル+ミニアプリ(通常起動時にフルアプリが起動する)
---ミニ+フルアプリ(通常起動時にミニアプリが起動する)
-フル+ミニアプリの場合、スクラッチパッド領域は共有される
--ただしスクラッチパッドの0番目(scratchPad:///0)のみ
--ミニアプリが0番目にしかアクセスできないため
-ミニアプリの制限
--UI絡みのオプションAPIがほぼ使用不可
--基本APIのオプション機能は一部使用不可
--JARが50KB、スクラッチパッド(scratchPad:///0のみ可)が200KBに制限
--ソフトキーは左上と右上の2つのみ制御可能(残りはWidgetViewが使用)
--領域サイズは440x80, 320x240, 240x320, 160x160のみ
---ただしフェイス画像によりさらに小さくしたり角を丸めたりできる
---一覧表示状態では上記サイズから60%程度に縮小されて表示される
--ミニアプリは同時実行できるが動作が競合した場合は基本的に後発が無効になる
--ヒープがフルアプリに対して1割程度となる
表示オプション
横に並べて表示:
変化行の前後のみ表示: