2011-03-19 37 views
4

我已经在互联网上寻找答案,但我只能找到答案,要么是太旧了,是混淆的或人们没有回答这个问题,而是告诉学习Java。Java是唯一一种为Android编写应用程序的方式吗?

我的基本问题是:

  1. 是用java编写Android应用的唯一途径?

  2. 这个问题将与#1相矛盾。由于Adobe AIR现在可以在Android手机上运行,​​这是否意味着我可以在不使用Java的情况下在AS3中编写代码,还是需要在Java内部封装AIR应用程序?

  3. 应用程序是否适用于Android的Facebook,愤怒的小鸟和所有那些只用Java制作的奇特游戏?

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

回答

0

您可以试试appcelerator。你用javascript编写,并以某种方式将它转换为Android应用程序。

2

Adob​​e Air for Android负责为您进行整合 - 您无需编写任何Java即可使其工作。它实际上是一个简单的AIR应用程序,如果该设备的用户安装了Air for Android,那么您的应用程序就可以工作,这很简单。

本机代码(java)vs AIR的争论已经持续了很长一段时间 - 取决于您制作的应用程序的类型,您可以从编写Java的过程中看到收益,因为它只是该项目的一个层次。另一方面,如果你没有动画十亿个形状或其他东西,那么差别就很小 - 所以在很多情况下,AIR就没有问题。

您拥有的另一个选择是使用HTML/JavaScript构建您的应用程序,并将其嵌入到Java或ObjC包装器中,该包装器可编译为Android/iPhone上的本机应用程序 - 许多应用程序,特别是那些只是用户一些数据集的接口,使用这种方法。

因此,根据您的使用情况,您有很多选择! :)

8
  1. 这是Google支持的唯一方式。还有其他的,例如Adobe Air;如果你想做一些工作来找出与标准Android类的链接,你可以复制和修改SDK中的Ant配方,以使用任何针对JVM的语言。
  2. Air应用程序与其他任何平台一样,运行在Air虚拟机中,该虚拟机“在本机”上运行在目标平台上。 (对于Android,这意味着它可能是用Java编写的,编译为JVM字节码,然后转码为Dalvik字节码。)请注意,它可能用于编写本地(通常是ARM)代码并将其与基本Java框架链接起来,尽管这样的代码有一些限制。我会想象Appcelerator提到的其他页面通过将Javascript翻译成其他东西(有几个Javascript到Java的翻译器)。
  3. 大多数Android应用程序都是用Java编写的。有些应用程序,特别是那些表示不会在低于2.0版本的Android上运行的应用程序,具有本机代码库。见#2。
  4. Java“开箱即用”。正如我前面提到的(#1),稍微有点工作,您应该能够使用任何生成JVM字节码的语言编写代码,并知道如何链接到Java类库。(我非常希望有人提供斯卡拉联动:)
+0

并根据http://www.codecommit.com/blog/java/interop-between-java-and-scala,只是说有人需要做一些蚂蚁配方黑客攻击,他们是金。 – geekosaur 2011-03-19 04:36:34

+1

1显然是错误的,因为你提到了[NDK](http://developer.android.com/sdk/ndk/index.html)。还有其他一些例子,例如[Android的Scripting Layer](http://www.googlelabs.com/show_details?app_key=agtnbGFiczIwLXd3d3IUCxIMTGFic0FwcE1vZGVsGKWdNgw)。 – 2011-03-19 04:41:06

+0

取决于你的解释。直到最近才有可能从NDK进行I/O,而不必回调Java,甚至最近可以使用NDK编写整个应用程序。 – geekosaur 2011-03-19 04:45:57

0

Android NDK提供:

一套工具和建立用于从C和C++源代码本机代码库文件。

相关问题