web-dev-qa-db-ja.com

Javaアプリケーションは電話(少なくともAndroid)およびWindowsで実行できますか?

こんにちは私はstackoverflowがとても便利で大好きです。

Afaik IOSには、他のアプリ(jvmなど)がアプリのコードを実行できないようにするいくつかのセキュリティ対策があります。これがどれだけ当てはまるかわかりません。

とにかく、Java Windowsを対象としたアプリケーションAndroid電話)を実行しようとすると、いくつかの問題があると聞きました。

一部のライブラリ(またはほとんど)がクロスプラットフォームではないためですか?あるいは、標準ライブラリでさえ、クロスプラットフォームではない(少なくとも完全にではない)のではないでしょうか。

したがって、基本的に、windows、linux、macなどのアプリとAndroidの両方のアプリをコーディングしたい場合は、次のような関数を作成する必要があります。

  IF unix THEN unixfunction()
  IF Android THEN androidfunction()

または私はそれを心配する必要はないでしょうか?

Android電話とコンピュータ(windows、linux、etc))の両方をターゲットにしたい場合、何を知っている必要がありますか?上記のアプローチは大丈夫ですか、それとも他のことを知る必要がありますか?これは可能ですか?

多くの質問で申し訳ありませんが、移植性がJavaに興味を持った理由です。

Javaアプリケーションは、Java仮想マシンで実行されます。これにより、複数のプラットフォームで動作することができます。ただし、Android SDKには、かなりの数の追加ライブラリがあり、適応なしではウィンドウへの直接移植を不可能にするAndroid互換アプリケーションにのみ関係する機能。

とは言っても、AndroidのアプリケーションがWindowsで動作することを許可するライブラリが存在します。ただし、Android電話の機能は明らかにありません)私の推測では、これらのライブラリーは区別する手段を提供するでしょうが、理想的には、可能な限りできるだけ区別したくないでしょう。

要するに、いいえ、いくつかの適応なしではありません。両方で動作するプログラムを作成することを検討している場合は、後で変更するのがはるかに困難になるため、最初にそのようなライブラリを1つ見つけることをお勧めします。

3
Neil

私はお勧めします React Native

これはFacebookによって記述されたフレームワークであり、JavaScriptを使用して両方のプラットフォームで動作するモバイルアプリケーションを記述できます。 React Nativeについて学びたい場合は、Udemyのウェブサイトを使用してReact Nativeを検索することをお勧めします。コースは安価であり、情報が満載です。

1
Jake Perkins

はい、Android Lollipopの前は、JVMアプリケーションを少しの努力で実行できます。 Android Lollipop以降、Dalvikの代わりにART(Android RunTime)を使用するように、Androidコアシステムにいくつかの変更がありました。したがって、これはAndroidでJVMプログラムを安全に実行できるアプリを2つの部分に分割しました。1つはLollipop以前のAndroidバージョンをサポートしていたものと、それ以降のバージョンをサポートしていたものです。 Android Lollipop以降を使用している場合は、- Java-N-Ide を試すことができます。ただし、サポートされるのはJava 1.7までです

これを参照してください: https://stackoverflow.com/questions/26979701/is-the-terminal-ide-app-for-Android-compatible-with-Lollipop より良い提案があります。

0
KumarAnkit