2009-06-04 10 views
2

J2MEを使用してモバイルアプリケーションを作成することは可能ですか?また、J2MEコールネイティブモバイルAPIが提供していない機能を実装したい場合は、 (提供されていないものが必要な場合は、.NETプラットフォームからWin32 APIを呼び出すだけで、.NETで行われているようなものです)。J2ME開発とネイティブAPI

答えて

3

いいえ、Java MEでは不可能です。

+1

JavaはJNIを使​​用してネイティブコードを呼び出しますが、これはJ2MEではサポートされていません。 – kgiannakakis

+0

ありがとうございます。 これは、機能がJ2MEで提供されていないときはいつでも、私は基本的に運命だということを意味します。 – Attilah

+0

残念ながら、かなり、はい。 Java MEのこれらの日は多くのことを提供します。電話機のカメラへのアクセスを含めて( –

2

のみの並べ替え。実際には可能ですが、直接ではありません。ローカルソケットをリッスンし、Java MIDletからリクエストを送信するネイティブサーバーを作成できます。誰かがMIDP-JNIと呼ばれるこれを行うためのフレームワークをリリースしました(実際のJNIとは対照的に)。明らかに、ソリューションの形式は、あなたができることにいくつかの制限を課しますが、実際には不可能ではありません。

このアプローチを使用すると、アプリケーションをより複雑にデバッグすることができることに注意してください。

3

JNIはJ2MEで正式にサポートされていませんが、J2MEのSymbian実装では明らかに非常に似たものが使用されています。シンビアンが何をしたか

ほとんどのJ2ME APIが対応するのSymbian OS C++ APIを持っているので、(たくさん)から(つまりとIBM J9仮想マシンの新しいモジュラー・アーキテクチャ間で2

間適応層を開発していますSeries60 3rd Editionフィーチャーパック2以降)、実際にはほとんどのハンドセットファームウェアを再コンパイルする必要なく、新しいAPIを仮想マシンに追加することは技術的に可能です。

しかし、サードパーティの開発者は、携帯電話メーカーの助けを借りなければ、これを行うことはできません。

ループバックソケット接続は、人々が言語障壁を越えてデータを転送するためのヒントとして実装されたソリューションです。ただし、大規模な導入は、技術的に2つのアプリケーションをデバイスにインストールする必要があるため、最も簡単な作業ではありません。 Symbian J2ME実装のスレッドモデルを理解すれば、あなたはまた、いかに醜く非効率的なハックであるかを理解するでしょう。

このような問題に遭うと、Symbian OS C++を学び、それを正しく実行しましょう。

1

Nokia/Symbianを特に見ている人は、APIBridge http://wiki.forum.nokia.com/index.php/J2ME_API_Bridge_Interfaceを解決することができます。通常は、「ローカルソケット上のネイティブサーバー」の「公式」バージョンです。 APIBridgeは「拡張可能」です&あなたの適切な「低レベル」のタスクのために独自の「プラグイン」を書くことができます。

関連する問題