みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JavaFX アンドロイドスタジオ

アンドロイドスタジオで使われているJavaは「JavaFX」とはまた違うものなのでしょうか?

android.java
swing.java
JavaFX
はそれぞれ別物なんでしょうか?

プログラミング初心者です。

投稿日時 - 2017-03-30 13:04:19

QNo.9311144

暇なときに回答ください

質問者が選んだベストアンサー

まず、スタンダードなJavaから説明しますと

「Java(無印)=Java1」は(ボタンなどの)GUI(Graphical User Interface)はAWTコンポーネントであり、それはブラウザの機能を使っていたのでブラウザごとに挙動が違うと言う問題点がありました。

「Java2(確か「Java SDK 1.2」以降だったか…)」では、その問題点を踏まえ(ボタンなどの)GUI(Graphical User Interface)にSwing(GUIシステム)を導入しました。

「JavaFX(無印)=JavaFX1」はスタンダードなJavaとは全く別物であり、そのためにJavaプログラマーを完全に置き去りにしてしまい、泣かず飛ばずでした。

(問題が発生します)Androidアプリ開発用言語としてグーグルが勝手にスタンダードなJavaとはAPI(Application Programming Interface)が全く別物のJava"互換"言語(シンタックスに非常に高い互換性がある)を"Java"と呼称します(それはガーベージ・コレクションも無かった)。

グーグルが"Java"と呼称する開発言語は、スタンダードなJavaではないので当然 (勝手に"Java"と言う名前を使うなと)問題になりました。
(Javaを開発した)Sun Microsystemsは2010年1月27日にOracle(オラクル)に買収され、スッタモンダのあげく、Oracle(オラクル)が方針転換し、スタンダードなJavaとはAPI(Application Programming Interface)が全く別物のJava"互換"言語(シンタックスに非常に高い互換性がある)をJavaFX2とする事で合意します(これでグーグルは正式に"Java"の名前を使えるようになりました)。
ちなみに(そのような経緯のために)「JavaFX(無印)=JavaFX1」と「JavaFX2」は全く別物です(それはガーベージ・コレクションも導入されました)。
「JavaFX2」の定義はスタンダードなJavaとはAPI(Application Programming Interface)が全く別物のJava"互換"言語(シンタックスに非常に高い互換性がある)を「JavaFX2」としました(Android Java以外でも作って良いと言う事になります)。

つまり、Android Javaとは正式には「JavaFX2」と言う事になりますが、その辺の経緯を知らない人に(「Android Java」を)「JavaFX2」とか言っても通じないので「Android Java」と呼称して下さい。
ちなみに「Android Java」はスタンダードなJavaとシンタックスに非常に高い互換性がありますが、(現時点では)完全に100%互換と言う訳ではありません(当然スタンダードなJavaとはAPI(Application Programming Interface)が全く別物です)。
ちなみに(シンタックスではありませんが)基本的な仕様のカラーがスタンダードなJavaはオブジェクト、Android Javaは整数になっているので、勘違いしやすいです。

投稿日時 - 2017-04-01 12:28:24

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>「Android Java」はスタンダードなJavaとシンタックスに非常に高い互換性がありますが、
>(当然スタンダードなJavaとはAPI(Application Programming Interface)が全く別物です)。

その辺はimportするパッケージ名を比較してみれば一目瞭然でしょう。

投稿日時 - 2017-04-01 12:46:28

あなたにオススメの質問