あなたはモバイル開発の通常の主要な問題に直面しています。1つのプログラミング言語だけでできるだけ多くの携帯電話をターゲットにするということは、J2MEを使用することを意味しますが、携帯電話のすべての機能にアクセスできるわけではありません。
ほとんどのオープンハンドセットはJ2MEをサポートしますが、さまざまな電話メーカーがさまざまな方法でJ2MEを実装しており、断片化は全面的に膨大です。残念ながら、オープンハンドセット(サードパーティアプリケーションをインストールできるもの)の大部分では、J2MEでの開発しか許可されていません。
唯一の良いニュースは、小さなアプリケーションのみを作成するという意図が、断片化の問題から大幅に軽減されることです。
J2MEには、ファイルシステムへのアクセス、テレフォニーAPIの完全な欠如、システムアプリケーション管理との相互作用が非常に不十分であるという点でも大きな制限があります...
完全な機能を利用するには、Android、iPhone、Symbian OS、Brew、Windows Mobile、Palm OSの携帯電話のいくつかのバリエーションなど、ターゲットとするオープンプラットフォームのネイティブテクノロジーを常に使用する必要があります。これらのそれぞれには、独自のネイティブテクノロジーがあります。
多数の対象となる受話器とそれぞれの全機能へのアクセスの両方が必要なというコストのかかる価格で、多くの異なる言語でアプリケーションを何度も作成します。
私はSymbian/J2MEのベテランです。あなたが述べた背景と目標を考えると、あなたはモバイルテクノロジーについて学ぼうとしているのではないかと思います。したがって、私は恥知らずに私の本をプラグインします。これは、Symbian開発エコシステムの紹介として意図されています。
http://www.amazon.com/Quick-Recipes-Symbian-Smartphone-Development/dp/0470997834/
幸運を