Java是否只能为Android编写应用程序?

Bid*_*han 4 android

我在互联网上寻找答案,但我只能找到答案,这些答案要么太旧,要么让人感到困惑,要么是人们没有回答这个问题,而是要告诉学习Java.

我的基本问题是:

  1. Java是为Android编写应用程序的唯一方法吗?

  2. 这个问题与#1相矛盾.既然Adobe AIR现在可以在Android手机上运行,​​这是否意味着我可以在没有Java的情况下在AS3中编写,或者我是否需要在AIR中包装AIR应用程序?

  3. 应用程序如Facebook for Android,Angry Birds以及所有那些只用Java制作的花哨游戏?

  4. 如果#1 == false && me == JAVA_HATER,你们推荐什么语言或SDK.这是我的主要问题.

gee*_*aur 8

  1. 这是Google唯一支持的方式.还有其他人,例如Adobe Air; 并且,如果您想做一些工作来找出与标准Android类的链接,您可以复制和修改SDK中的Ant配方,以使用任何针对JVM的语言.
  2. 与任何其他平台一样,Air应用程序在Air虚拟机中运行,该虚拟机"本机"在目标平台上运行.(其中,针对Android,意味着它可能是用Java编写,编译成JVM字节码,然后转码成的Dalvik字节码).请注意,这可以编写原生(通常ARM)代码和一个基本的Java框架链接它,虽然有这些代码有很多限制.我想,Appcelerator提到的elsepage通过将Javascript翻译成其他东西(有几个Javascript-to-Java翻译器)来工作.
  3. 大多数Android应用程序都是用Java编写的.有些应用程序,特别是那些说不能在2.0以下版本的Android上运行的应用程序,都有本机代码库.见#2.
  4. Java工作"开箱即用".通过一些工作,如上所述(#1),您应该能够使用任何生成JVM字节码的语言编写代码,并且知道如何链接到Java类库.(我完全希望有人提供Scala链接.:)