安卓入门:Java还是Python(SL4A)
我刚刚订购了一部安卓智能手机,想开始尝试自己制作应用程序。现在的问题是,我应该用哪种语言呢,是用原生的Java,还是用Python配合SL4A(以前叫ASE)呢?
我倾向于使用Python,因为我对它比Java更熟悉,但我在想,如果在安卓上用这种“二流”的语言,我会错过什么呢?在SL4A的网站上也提到它还是测试阶段的软件,这让我有点没信心。
我也不太确定这个脚本环境的限制是什么,是否会造成问题。
5 个回答
补充一下Dave Kirby的回答:
问题55,作为APK分发脚本,在SL4A的问题追踪器中专门讨论了这个话题。
目前正在研究一个解决方案(可能现在已经完成),具体内容可以在共享脚本中找到。唯一的问题似乎是你需要先安装一个解释器的APK。
你要开发什么类型的应用程序,会影响你选择的编程语言。
我建议你先从Java开始,这样可以熟悉Android的开发工具包(SDK)。无论如何,首先你需要看看一些示例和教程。大部分的教程都是用Java写的,只有少数可能是在SL4A的开发网站上。
另外,还有一种叫做Android NDK的本地开发方式,可以用C++来编程。
不过总的来说,Java是开发一般应用的主流选择。
目前,你不能用Python(或者其他脚本语言)通过SL4A来创建可以发布的程序。我听说过一些传闻,说谷歌正在研究这个问题,但即使他们真的实现了,Python应用程序相比Java可能还是会比较慢,而且耗电量大。此外,脚本API只让你访问Java原生API中的一小部分。所以现在我不建议用SL4A进行严肃的开发工作,只适合写一些临时脚本或者做原型。
你可以看看Scala。它是一种在JVM上运行的静态类型语言,但通过类型推断来减少Java中常见的冗余代码。它完全支持函数式编程,还有很多类似Python的特性。因为它是静态类型的,所以效率和纯Java一样,没有那些缺点。在我看来,它应该是Java最初的样子。
很多人都在写博客讨论在Android上使用Scala,所以你可以多搜索一下相关信息。