DoJa-3.5→DoJa-4.0の変更点
主な新機能
対応機種
- DoJa-4.0
- D系:D901i, D901iS
- F系:F901iC, F901iS
- N系:N901iC, N901iS
- P系:P901i, P901iS, P901iTV
- SH系:SH901iC, SH901iS
- DoJa-4.0LE
- D系:D701i, D701iWM
- F系:F700i, F700iS
- N系:N700i, N701i, N701iECO, N702iD, N702iS
- P系:P700i, P701iD, P851i
- SA系:SA700iS, SA800i
- SH系:SH700i, SH700iS
- M系:M702iS, M702iG
実数型の追加
- CLDCが1.0から1.1に変更された
- float, doubleが使えるようになった
- これに併せて実数型を引数に取るAPIが追加されている
- float, doubleが使えるようになった
3Dグラフィックス機能の強化
- Graphics3Dなど
- 3Dグラフィックス機能が基本APIになった
3Dサウンド機能の追加
- Audio3Dなど
- 立体感のあるサウンド再生が可能
数値演算の強化
- FastMath
- 三角関数などの演算が基本APIで使用できるようになった
- Math(オプションAPI)よりも機能が豊富
- 引数にfloatを直接渡すことができる
- 三角関数などの演算が基本APIで使用できるようになった
半透明描画の強化
- Graphics
- 半透明色の概念が追加された
- ただしDoJa-4.0で有効なのはGraphics#fillRect()のみ
- 半透明色の概念が追加された
追加されたクラス
Audio3D
- 立体感のあるサウンド再生が可能になる
- AudioPresenterで再生する音声が影響を受ける
- 再生中に定位を動かすことができる
- 再生中に3Dサウンドのオン/オフはできない
Audio3DListener
- Audio3Dのイベントリスナ
- Audio3Dで発生したイベントが通知される
Audio3DLocalization+実装クラス
- 3Dサウンドの3D定位を設定できる
- 定位はデカルト座標または極座標で指定が可能
- 定位の移動を指定することもできる
- 次の継承(実装)ツリーを形成する
- SoundPosition
- CartesianPosition
- PolarPosition
- SoundMotion
- SoundPosition
CartesianListener
- CartesianPositionの生成に使用するデータを表現する
- Listenerが付いているもののイベントリスナではない
- Listenerはリスナ(聴者)を意味する
FastMath
- 各種数値演算機能が使用できるようになった
- Math(オプションAPI)よりも機能が豊富
- 引数にfloatを直接渡せる
- 内部で整数演算に置き換えて計算する
- 誤差を含む可能性はあるが実行は高速
Graphics3D
- 3Dグラフィックスの描画が可能になる
- 3Dグラフィックスが使用可能なGraphicsはGraphics3Dを実装している
- instanceofで利用可能かを判別できる
- 以前はオプションAPIだった
[信][任] MovieStore
- 動画を端末のネイティブ領域に保存できる
- 取得系のメソッドはDoJa-4.1以降に実装された
- トラステッド専用 / オプションAPI
- ただしDoJa-4.1以降はトラステッド専用ではなくなっている
Object3D+派生クラス
- 各種の3Dオブジェクトを表現する
- 次の継承ツリーを形成する
- ActionTable
- DrawableObject3D
- Figure
- Group
- Primitive
- Fog
- Light
- Texture
Transform
- 三次元アフィン変換用の行列を表現する
- 行列に対して各種操作が可能
- Audio3DやGraphics3Dなど3D系のクラスで使用する
Vector3D
- 三次元のベクトルを表現する
- 内積や外積の計算も可能
- Audio3DやGraphics3Dなど3D系のクラスで使用する
変更のあったクラス
Display
- 予約定義になっていたキー定数が削除された
- ソフトキーなど既存のキーと機能が重複していたため?
KEY_CALENDAR, KEY_CAMERA, KEY_CAMERA_LIGHT, KEY_CAMERA_SHOT KEY_DRIVE_MODE, KEY_GPS, KEY_I_MODE, KEY_MANNER_MODE, KEY_MENU, KEY_PHONE_BOOK
Font
- SIZE_SMALLとSIZE_LARGEが必ずサポートされるようになった
- しかし表示はオプションAPIのまま
Graphics
- 半透明色の概念が追加された
- ただしDoJa-4.0ではfillRect()でのみ有効
- DoJa-5.0ではfillArc()とfillPolygon()でも有効
ImageMap
- 使用できる画像数が増えた
- 以前はbyte(128個まで)だったがintになったため実質無制限になった
- byteのコンストラクタ及びメソッドは非推奨になった
ImageStore
- 一度に複数の画像を保存できるようになった
- 差出人または宛先アドレスに返信可能かを判別できるようになった
MediaImage
- 動画(MP4)関連のプロパティのキーが追加された
MediaResource+実装クラス
- メディアリソースのプロパティ値を取得できるようになった
- メディアリソースの再配布を可能にするか否かを設定できるようになった
MediaSound
- 3Dサウンドの制御に必要なリソース数を取得できるようになった
PhoneSystem
- サラウンドが有効か否かを取得できるようになった
- チャットメール着信を表す定数が追加された
TimeKeeper+実装クラス
- 設定可能な最小の時間間隔を取得できるようになった
- 設定可能な時間間隔が等差数列になった(Nは0以上の整数)
- DoJa-3.5以前:TimeKeeper#getResolution() * N
- DoJa-4.0以降:TimeKeeper#getMinTimeInterval() + TimeKeeper#getResolution() * N
削除されたクラス
なし
- 今回のバージョンアップでクラスは削除されていない
備考
- 次のクラスはリファレンスに記載されていない
- Degree
- Location
- LocationException
- LocationProvider
- DoJa-3.5で誤っていたスペルが修正された
- TYPE_PIN_LOCK_OUT_ERRIR→TYPE_PIN_LOCK_OUT_ERROR