在阅读了几篇问答之后,我意识到其中一篇有两个选项,即QPython和Kivy,可以为Android编程,不过,显然这两篇文章都采用了不同的方法。我试图验证我的理解,看看我是否遗漏了一些关键信息。
- QPython允许使用Kivy库开发图形应用程序
- QPython和Kivy都使用SL4A,而QPython通过添加一些NFC和类似的函数扩展了标准SL4A(或者是Python的绑定)
- QPython用于创建python脚本,这些脚本可以使用各种模块、库,但它们需要安装QPython才能在目标设备上执行。无法将脚本打包到apk中。
- Kivy OTOH,允许开发人员使用其基于云的构建系统(可选-本地构建系统可以在Ubuntu Linux上设置)编写编译到apk的应用程序。[但是,我注意到使用Kivy的大多数示例apk都非常大,在40MB范围内。我错过什么了吗?]
- QPython apk有两个版本,一个用于Python-2.7,另一个用于Python-3.x。
- QPython示例脚本(HelloWorld.py)的行为似乎不像预期的那样,来自Market的最新QPython-3.x,在Android Kitkat(4.4.2)系统上。我得到的对话框输入文本,但然后我希望一个祝酒词弹出,但什么也没有发生。
- 给人的印象是QPython和Kivy都是由一个单独的开发人员开发的(或者目前只有一个人真正活跃),而且还没有一个大的社区。[这是我最担心的问题]我注意到有3-4个问题上面有“qpython”标签,还有1000多个问题上面有“kivy”!
- 同时也得到这样的印象:目前Kivy的开发有点活跃(可能相当活跃),但是对于QPython我没有一个清晰的画面。
- 与QPython相比,Kivy似乎在试图扩展应用程序的性质,而这些应用程序可能是使用它编写的。有一些API像plyer和pyjnius可以帮助扩展可能性。与QPython相比,这也许是相当重要的。
- QPython和Kivy似乎都在大力开发中。程序(/script)崩溃(/failures)似乎在这两套工具上都有报告。
总的来说,作为上述观点的结果,人们的意见似乎更倾向于基维。理解正确吗?我错过了关键点吗?这不是一个反问句,我只是在寻找事实的答案。
Tags:
在Android上运行Python代码至少还有两种方法(尽管据我所知只是理论上的):
numpy
,都可用于jython
,如果您使用Java库,请记住Android不提供与桌面JRE相同的库是的,qpython是一个解释器+相关工具,并且有一些很好的kivy集成。但是你不能用qpython+android单独将kivy代码编译成一个独立的apk。
Kivy不使用SL4A,我们主要通过pyjnius来实现android api的集成,pyjnius是一个用python自动包装java类的库,可以直接调用javaapi。我们还抽象了一些标准的东西到一个pythonic接口与plyer。
(我后来看到你已经找到了这些)
我不怎么使用qpython,但我认为这是正确的,尽管在某些情况下可能有一些工具将脚本转换为apk(例如,如果您有kivy接口,可以使用kivy的构建工具,或者sl4a有这样的工具)。
我们有一个基本的基于云的构建系统,但目前没有其他类似的系统,几乎每个人都使用我们的android构建工具在自己的机器上构建apk。它们运行在linux或OSX上,如果需要,可以很容易地在虚拟机中运行。
由于需要捆绑python解释器和许多模块,一个最小的应用程序大约有7MB的APK大小。
Kivy本身支持python3,但我们的android构建工具目前只支持python2.7。
Kivy开发非常活跃,有几个定期的贡献者,还有一些零星的贡献者。例如,您可以看到最近的提交活动on github。这肯定比一个开发人员多得多!
我想qpython包括pyjnius。不太清楚普莱尔。
我不知道你在看什么,但是任何不重要的项目都会报告崩溃/失败/错误。我不认为基维天生就不稳定。
我会说qpython和kivy是完全不同的东西。Qpython允许您编写和运行脚本,而kivy是一个图形框架和相关工具,用于创建独立的应用程序。两者都可以完成的任务有一些重叠,但也有很多不适合两者的地方——例如,我认为qpython可能更方便地制作没有gui的快速脚本,例如简单的自动化(我认为这是可能的),但我认为kivy是一个更好的选择,它可以创建独立的应用程序,而不是简单的gui。当然,如前所述,您可以用qpython编写kivy代码,但对于任何非琐碎的事情来说,这都不是一个很好的用户体验,您无论如何都需要一台台式机/笔记本电脑来制作一个独立的apk。
相关问题 更多 >
编程相关推荐