非互換, 機種による制限のある機能

– 利用するメソッドが本当に全機種対応しているかどうか各機種オプションAPI・拡張API実装状況を見たほういい。
対応していない場合は利用を避けるか、

System.getProperty(“microedition.platform”).indexOf(“N504”) >= 0

とかして端末によって処理を分けること。
 
– 以下公式の iアプリ作成上の注意点より端末固有の制限。
– N504i(S) では Graphics.drawString() は半角 33 文字までしか描画されない。
– N504i(S) では ScratchPad クローズ処理は
– P504i(S) では扱う画像の一辺の長さは 256 ピクセルまで。
– P504iS では同様に 512 まで。
– F504i では Connector.open() に渡す URL は 256 バイトまで。
– F504iS では同様にクエリ以外が 255 バイトまで、クエリ部が 512 バイトまで。
– F504i と SO504i ではキーを押したまま(key press イベント発生中)システムのポップアップメッセージ(iモード接続中など)が表示されると Canvas.getKeypadState() の結果が残る。回避するために、ポップアップが立ち上がる処理のトリガはキーリリースにする。
– D504i では(Canvas.processEvent(), Canvas.getKeypadState() 等を使った低レベルキーイベント処理で)一部のボタン同士の同時押しを受け付けられない。(1,2,3), (4,5,6), (7,8,9), (*,0,#) のそれぞれは同時押しができない(ex. 1,2 はだめ)。
– SO504i では MediaImage オブジェクトは use() で有効になることができるのは 255 個まで。
– SO504i では時刻情報処理で 1 時間につき約 3.5 秒の割合で遅れる。正確には経過時刻に対し 0.09756% 遅れる。
– D2101V ではサマータイムが有効になっているため 3月の最終日曜の 10:00 から 10 月最終日曜の 11:00 まで +1:00 となる(10:00 が 11:00 になって始まり、11:00 が 10:00 になって終わる)。