Android Kivy和PY4A的区别
我是android开发新手,对Java、C#、Python等都有一些经验。Python是我的最爱,我想用它来编写android应用程序。Android Kivy和PY4A的区别,android,python,kivy,sl4a,Android,Python,Kivy,Sl4a,我是android开发新手,对Java、C#、Python等都有一些经验。Python是我的最爱,我想用它来编写android应用程序。 然后我看到了这个问题: 投票最多的答案提到了Kivy和ASE(现在是SL4A,包括PY4A) 然而,在谷歌搜索了一番之后,我找不到任何关于Kivy和PY4A之间区别的有用信息。寻找Kivy和SL4A之间的差异也是徒劳的 因此,对于Kivy和PY4A, 有人能简单地解释一下吗: -它们之间有什么相似之处和不同之处? -它们的优点和缺点是什么? -还有其他好的选
然后我看到了这个问题:
投票最多的答案提到了Kivy和ASE(现在是SL4A,包括PY4A) 然而,在谷歌搜索了一番之后,我找不到任何关于
Kivy
和PY4A
之间区别的有用信息。寻找Kivy
和SL4A
之间的差异也是徒劳的
因此,对于Kivy
和PY4A
,有人能简单地解释一下吗:
-它们之间有什么相似之处和不同之处?
-它们的优点和缺点是什么?
-还有其他好的选择吗 令人困惑的是,有两个项目叫做“android版python” SL4A允许您在android上运行python脚本。他们的PY4A是他们工具链中的一步,但我对它知之甚少。我知道有一些与android API的集成(你可以使用一些硬件等),但在如何运行程序方面有限制(它们不是完整的应用程序,没有gui等)。这是我从其他帖子中推断出来的东西,我没有尝试过,不要相信我对细节的承诺。(编辑:实际上,似乎有一些能力打包APK和多种方法来创建gui,我不知道细节) Kivy是一个图形框架,支持多种操作系统(linux、windows、osx、android、ios,可能已经有更多)。您可以使用它来构建python GUI。kivy项目还启动了自己的python for android项目,该项目提供了编译android python解释器并将其打包为实际android应用程序的方法(包括java api与pyjnius的集成等)。Kivy与它集成得很好,因此您可以轻松地为android编译python gui应用程序,尽管我不认为android版python仅限于Kivy应用程序 因此,它们是完全不同的项目,碰巧有一个同名的组件。SL4A是用于在android上运行python脚本的,我不太了解它的限制或细节。Kivy是一个python图形框架(不限于android),它可以通过自己的不同python for android项目编译为完全集成的gui android应用程序
您可以看到(例如)一些简单的kivy功能的示例,或者kivy制作的简单游戏的示例。这些只是例子,还有很多可能。你试过QPython吗?这是一个新的python for android实例,它提供了更多功能。我发现这非常有用(而且是最近的): 在Android中嵌入Python(教程系列) 它描述了如何在Android应用程序中嵌入Python,使用适用于Android的Kivy相关Python,而不是Kivy本身(据我所知,Kivy和适用于Android的Python文档中都没有真正描述),这在各种场景中都很有用(例如,现有Java应用程序、直接使用本机GUI等) 由于Kivy的Android Python比SL4A(ASE)的Py4A开发得更为积极,在我看来,这是一条可行之路 (我认为回答这个问题也非常相关,而且可能更合适,但回答这个问题需要比我现在拥有更多的声誉。) 说到最初的问题:我所看到的Kivy的Python for Android和SL4A(ASE)的Py4A之间最相关的区别是后者今天仍然作为“alpha质量”提供,而前者似乎更为活跃。 当然,如果你把Kivy作为一个整体,它是一个跨平台的GUI库 此外,我对各种解决方案的研究结果:
- 谷歌的Py4A+SL4A(ASE):已使用,但阿尔法质量,未积极开发
- Kivy:
- 为Android提供Python,从Java调用Python代码
- 提供Pyjnius,从python调用Java代码
- 似乎正在积极发展
- 我在上面链接了一个嵌入Java Android应用程序的教程
- 如果感兴趣,跨平台GUI(Kivy本身)
- QPython:
- 主要是在Android上启动python脚本的交互式环境
- 基于Py4A,但Pyjnius(见上文)据说是可用的
- 嵌入Java应用程序是可行的,但有一定的局限性:Python作业必须有目的地启动,并且从标准输出中收集结果;我认为,这意味着在某些情况下可能需要更多的分离
- python.org:完全不提Android
我不能保证它的质量和易用性。有.apk需要安装,所以看起来相当简单 “Kivy-开源Python库,用于快速开发利用创新用户界面的应用程序,如多点触控应用程序。”vs“Android脚本层(SL4A)通过允许您直接在Android设备上编辑和执行脚本和交互式解释器,将脚本语言引入Android。”我找不到两者之间的任何共同点…您可以在SL4A、本机和网络视图上使用GUI。kivy的家伙们在cons和诸如此类的场合歪曲了SL4A,所以你不得不期待一些混乱。对于这个错误,很抱歉,我的误解来自于阅读SL4A文档,其中主要讨论了脚本的可能性。