Kivy和PY4A的区别
我是新开发的Android开发人员,并且在Java,C#,Python等方面有过一些经验。Python是我最喜欢的,我想用它编写Android应用程序。
然后我看到了这个问题:
有没有办法在Android上运行Python?
答案最多的提到Kivy
和ASE
(现在是SL4A
,包括PY4A
)。
然而,在一些Google搜索之后,我无法找到有关Kivy
和PY4A
之间区别的任何有用信息。 寻找Kivy
和SL4A
之间的SL4A
也是徒劳的。
所以,对于Kivy
和PY4A
,
有人可以用简单的语言来解释:
- 他们之间有什么相似之处和不同之处?
- 他们的好坏部分是什么?
- 还有其他好的选择吗?
令人困惑的是,有两个名为“android for python”的项目。
SL4A可以让你在android上运行python脚本。 他们的PY4A是他们工具链中的一个步骤,但我对此不甚了解。 我明白有一些与android apis的集成(你可以使用一些硬件等),但在如何运行程序(他们不是完整的应用程序,没有gui等)的限制。 这是我通过查看其他帖子推断的内容,我没有尝试过,不要在细节上对我说。 (编辑:实际上它似乎有一些包装apks和多种方式来创建一个gui的能力,我不知道细节)
Kivy是一个支持许多操作系统的图形框架(linux,windows,osx,android,ios,或许更多)。 你用它来构建python guis。 kivy项目也启动了他们自己的python-for-android项目,该项目提供了一些方法来编译android的python解释器,并将它作为一个实际的android应用程序(包括与pyjnius等的java api集成)打包。 Kivy与它很好地集成在一起,所以你可以很容易地为android编译一个python gui应用程序,但我不认为这个python-for-android仅限于kivy应用程序。
所以,他们是完全不同的项目,碰巧有一个名称相同的组件。 SL4A是用于在android上运行python脚本的,我不太了解它的限制或细节。 Kivy是一个python图形框架(不限于android),可以通过它自己的不同python-for-android项目编译完全集成gui android应用程序。
你可以看到(例如)kivy展示一些简单的kivy功能的例子,或者用kivy制作的简单游戏的例子。 这些仅仅是例子,更多的是可能的。
我发现这非常有用(和最近):
在Android中嵌入Python(教程系列)
http://techventura.wordpress.com/2014/04/21/embedding-python-in-android-series/
它描述了如何将Python嵌入到Android应用程序中,使用与Kivy相关的Python for Android,但不是Kivy本身(根据我的发现,这在Kivy或Python-for-Android的文档中没有真正描述过),这在各种情况下都很有用(例如,现有的Java应用程序,直接使用本地GUI等)
由于Kivy的Python-for-Android比SL4A(ASE)的Py4A更加积极地开发,因此我认为这是一条可行的路。
(我认为这也是非常相关的,也许更合适一点,有没有办法在Android上运行Python?,但回答需要比我目前更多的声誉。)
至于原始问题:我认为Kivy的Python-for-Android和SL4A(ASE)的Py4A最相关的区别在于,后者目前仍然以“alpha质量”的形式提供,而前者看起来很远更活跃。 当然,如果你把Kivy作为一个整体,它是一个跨平台的GUI库。
此外,我对各种解决方案的研究结果:
你有没有试过QPython? 这是一个新的提供更多功能的android实例python。
链接地址: http://www.djcxy.com/p/91183.html上一篇: Difference between Kivy and PY4A
下一篇: Python on android