2017-05-25 2 views
0

年前、私はJavaの機能の1つがプラットフォームに依存しないことを読んでコアJavaを研究しました。 リファレンス:https://www.javatpoint.com/features-of-javaJavaで書かれたアプリケーションは、Javaがプラットフォームに依存しない場合でも、Androidでのみ実行されるのはなぜですか?

私はアンドロイドの開発に取り組んでいます。アンドロイドのアプリケーションはコアのJavaを使用して開発されています。それで、なぜそれらのアプリがWindows PhoneやiOSでサポートされていないのですか?

+1

原因Android用プログラミングはAndroid用のGoogle APIを使用しています –

+1

AndroidはJavaとは異なります。アンドロイドの遵守プロセスはjavaとは異なります。 –

+2

JavaはJVMのためにプラットフォームに依存しないと言われていますが、AndroidはJVMを使用していません。彼らはDalvikと呼ばれるものを使用しています。 – Sweeper

答えて

1

をJavaコードは最初にコンパイルされ、バイトコードになります。このバイトコードはプラットフォームに依存しません。このコードはJVMで実行されます。 JVMはJREの一部です。プラットフォームごとのJREは異なります。ご使用のプラットフォームのWindowsまたはLinuxに従ってJREをダウンロードしてインストールする必要があります。

AndroidはJVMを使用していません。コンパイルされたバイトコードはDVMで実行されるDexバイトコードに変換されます。現在、アンドロイド専用のDVMがあります。 Android用に書かれたコードは他のプラットフォームでは実行できません

0

Androidの開発では、Javaを主要な開発言語の1つとして使用しています。 Android用のアプリの開発にも使用できる他の言語もあります。たとえば、最近Kotlinがこの言語セットに追加されました。

あなたがAndroidアプリ用に書いたコードをコンパイルすると、Android VM(Dalvik)に適したバイトコードに変換されますが、JavaのJVMでは使用できません。

これは、開発者がAndroid向けのアプリケーションを開発するためのまったく新しい言語を習得する必要がないことをAndroidプラットフォームに提供し、利点をもたらします。あなたが知っているプログラミング言語に関わらず、Android用のアプリを開発することができます。コードをコンパイルすると、サポートされている言語のコードがAndroid VM上で実行できるバイトコードに変換されます。

関連する問題