12

我刚刚订购了一部 Android 智能手机,并想开始尝试创建自己的应用程序。现在的问题是使用哪种语言,使用 SL4A(前 ASE)的原生 Java 或 Python。

我倾向于 Python,因为我知道它比 Java 好得多,但我想知道在 Android 上使用“二等”语言会缺少什么。在 SL4A 网站上,它也被称为 alpha 质量软件,这并不令人鼓舞。

我也不太确定脚本环境的限制是什么,以及它们是否会出现问题。

4

5 回答 5

16

目前,您无法使用 SL4A 使用 Python(或任何其他脚本语言)创建可发布的程序。我听说这是谷歌正在做的事情,但即使他们确实启用了它,Python 应用程序与 Java 相比可能会很慢而且很耗电。此外,脚本 API 仅允许您访问本机 Java API 的有限子集。目前我不会考虑将 SL4A 用于严肃的开发工作,仅用于一次性脚本和原型设计。

看看Scala。它是 JVM 上的一种静态类型语言,但使用类型推断来消除您在 Java 中获得的大部分噪音。它还完全支持函数式编程,并具有很多 Python 特性。因为它是静态类型的,所以它与纯 Java 一样高效,没有任何缺点。恕我直言,这是 Java 应该首先出现的语言。

很多人都在写关于在 Android 上使用 Scala 的博客,所以谷歌搜索更多信息。

于 2010-07-27T20:19:32.540 回答
2

更有可能取决于您将开发哪种类型的应用程序。

我会从 Java 开始熟悉 Android SDK。无论如何,首先您需要查看一些示例和教程。其中大部分是用 Java 完成的,只有少数可能是在 SL4A 的开发站点上。

还有原生开发 Android NDK,可以用 C++ 编程。

但无论如何,Java 规则适用于一般应用程序。

于 2010-07-27T19:12:42.600 回答
2

为 Dave Kirby 的回答添加更新:

第 55 期,将脚本分发为 APK,在 SL4A 的问题跟踪器中专门处理该问题。

在SharingScripts中描述了一个正在制定的解决方案(现在可能已经完成)。唯一的问题似乎是您需要已经安装了解释器 APK。

于 2010-08-28T09:00:12.733 回答
1

您可能想查看Ruboto,它是一个基于 JRuby 开发 Android 应用程序的框架,这意味着您的 JRuby 代码可以调用 Android API,也可以从 Android Java 端回调。 是一篇介绍文章。

于 2012-01-11T07:53:59.107 回答
1

如果您想使用 Python 编写 Android 应用程序,请考虑使用Kivy 。这里描述了将脚本打包成 .apk 文件的过程。

问题是,生成的 .apk 会很大(300Kb 数据约为 7Mb)。很明显,因为您需要在其中打包 Python 运行时和所有库。

我听说过的另一个解决方案是Pygame for Android,但它适用于低级,因此您需要手动绘制图形。

不幸的是,我还没有尝试过任何这些方法,但看起来我很快就会开始使用 kivy。

于 2013-09-21T08:30:08.493 回答