从Android开始:Java或Python(SL4A)

时间:2010-07-27 19:04:54

标签: java python android sl4a

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

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

我也不太清楚脚本环境的局限性是什么,以及它们是否有问题。

5 个答案:

答案 0 :(得分:16)

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

看看Scala。它是JVM上的静态类型语言,但使用类型推断来消除Java中的大部分噪音。它还完全支持函数式编程,并具有许多pythonish功能。因为它是静态类型的,所以它与直接Java一样有效,没有任何缺点。恕我直言,这是Java应该首先使用的语言。

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

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:2)

为Dave Kirby的回答添加更新:

Issue 55, Distribute scripts as APKs,在SL4A的问题跟踪器中专门处理该问题。

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

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

问题是,导致.apk会很大(300Kb数据大约为7Mb)。很明显,因为你需要打包Python运行时和所有库。

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

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

相关问题