あなたの計画は実行可能に見えます。あなたがやっているようなことに役立つものを思い出せないので、多くのリンクを与えることはできません. 実際、あなたにとって最も役立つリンクはおそらく MIDP ( JSR 118 ) API リファレンスでしょう。あなたの部分はほとんどがlcdui
パッケージ、特にGraphics
API になります。
アドバイスとしては、問題ありません。最初に注意すべきことは、暗黙的な listを使用した以前の実験よりも多くのコーディングと (はるかに多くの) テスト/デバッグが行われることです。問題になる可能性のある締め切り/タイミング要件を考えることができる場合は、暗黙のリストをフォールバックとして使用する以前の設計に注意してください。見た目は派手ではありませんが、安全かつ正確に機能します。
もう 1 つの重要なことは、対象とするデバイスの種類を決定することです。あなたが開発しようとしているようなメニューの場合、 ITU-T キーパッドを備えた 160x200 の基本的な電話と400x600 のタッチスクリーン スマートフォンの両方で一貫したルック アンド フィールを得るのはかなり難しいかもしれません。以下では、できるだけ幅広い種類のデバイスをターゲットにしようとすることを前提としています。ターゲットを絞り込むほど、コーディングとテストが容易になることに注意してください。
多くの異なるデバイスを対象とする場合、さまざまなディスプレイ サイズと解像度、タッチスクリーン入力の有無などをシミュレートするように構成できるエミュレータを使用すると便利です。ただし、エミュレータだけでは実際のデバイスを完全にシミュレートできないことに注意してください。地に足をつけたままにするために、実際のデバイスを使用してアプリケーションの定期的なスモーク テストを行うことも検討してください。無線 (OTA) インストールを使用することをお勧めします。
ここで、今思いつく特定の API のヒントをいくつか示します。
- 押されたキーコードを処理するために使用
Canvas.getGameAction
します。これは、メニューのアクションを上/下に表示し、選択するための最も信頼性が高く移植性の高い方法です。
Canvas.hasPointerEvents
タッチ スクリーンのサポートがあるかどうかを判断するために使用します。タッチ スクリーン デバイスを使用しているユーザーは、ファンシー メニューが画面をタップしても反応しないことが判明すると、がっかりする可能性があります。
Font.getHeight
とを使用Font.stringWidth
して、メニュー項目のテキストが占めるスペースを計算します。
Image.getGraphics
画像オブジェクトの上に何かを描きたい場合に使用します。
前述したように、lcdui.Graphics
API を使用して多くのことを行う可能性が高いでしょう。ほとんどはかなり単純ですが、おそらくクリッピングに関するややこしいことを理解する必要があります。幸運を。