我是一名 python 开发人员,几乎没有在 java 中创建 android 应用程序的经验,我想创建一个应用程序来访问我的大学门户网站、检索一些数据并在视图上显示。
所以,在研究了 Kivy 之后,我有几个问题:
1)哪一个更容易和更快地开发android应用程序?
2) Kivy 有任何安卓功能限制吗?
3)最后,使用 kivy 开发的 android 应用程序运行速度是否与使用 java 开发的一样快?
这是一个比较主观的问题。
1) 哪一个更容易和更快地开发安卓应用程序?
我认为kivy有很强的论据,但这没有客观的答案。
2) Kivy 是否对访问 android 的某些部分有限制(例如未完全与其 api 集成)?
kivy 项目包括 pyjnius,这是一个通过 python 访问 java 类的工具,原则上我认为这应该提供对 java api 的任意(编辑:反射,不是任意,但可能不限于直接重要的方式)访问。
在实践中,预构建的 python 包装器是一项正在进行的工作,尽管正在快速改进。android python 库已经可以轻松访问许多东西(包括但不限于意图、振动、加速度计等)。即使还没有 python 包装器,也可以很容易地完成必要的工作。
编辑:最近在 Kivy 的plyer项目上有了出色的工作,旨在为特定于平台的工具提供一个透明的 api,这样您就可以调用它一次,并在不知道细节的情况下在不同的系统上获得相同的行为。它包括对部分 android api 的有用支持。
3) 最后,使用 kivy 开发的 android 应用程序运行速度与使用 java 开发的一样快吗?
最终答案可能是否定的,但除非你正在做一些强烈的 cpu 限制的事情,否则差异不太可能很重要。您建议的任务不会以这种方式受到限制。
为了完成 inclement 的回答,pyjnius 确实允许访问很多 android api。但这并不完美,调用现有的类并不总是足够的,并且android程序员经常需要创建将被android调用来管理事件的代码,有两种方法可以做到这一点,都被android api使用。
所以值得事先看一下 api,看看你必须访问的 android api 的部分是否需要它。