我正准备开始一点 Android 开发,需要选择一种语言。我知道 Python,但必须学习 Java。我想从你们这些在 Android 上使用 Python 的人那里知道有什么限制。另外,Java有什么好处吗?
3 回答
Andrew 所提到的大部分观点,我只想提一下,python 可以并且被用于在 GooglePlay 甚至 iOS 上发布的成熟应用程序。我不能代表其他框架,但这里有一些使用 Kivy 发布的应用程序示例。
- 工艺流程Google Play iOS
- 幻想战锤
- PreseMT 是一个多点触控演示制造商
- 备忘录机器人
- 地面真相
- 万花筒
- 来自 Kivy 项目的展示示例
- DefelectTouch 游戏iOS
- 巴格尼乌斯和更多...
在包装上,我们试图使其尽可能简单,我们还提供
- 一个预构建的虚拟机,可以用来制作你的 apk,除了复制你的项目目录并运行一个命令之外,你什么都不用做。
在 GUI 上,是的,用户界面是自定义的,默认情况下(尝试匹配 Android 的 Holo 主题)。然而,它可以定制为类似于其他外观和感觉,虽然我没有亲自尝试过。
哦,只要有人在谈论 android 上基于 python 的应用程序,我发现 stackoverflow PyMob上提到了这个项目,他们的应用程序页面提到了一些有趣的应用程序。
我最近出于类似的原因对此进行了调查。我的结论是,我不能使用 Python 来开发一个看起来像原生的应用程序,而这正是我当时想要的。具体来说:
Python 无法接收来自 Java UI 类的回调,因此您不能使用任何原生 Java UI 元素,例如 ListView 等。只有对话框等易于使用。如果你有一个完全自定义的 UI,比如游戏,你可以试试PyGame for Android,或者你可以看看Kivy,它也使用 PyGame。
Python 应用程序的打包非常困难,特别是因为默认情况下 Android 不包含 Python 解释器。Kivy 和 PyGame 团队在这方面取得了一些间歇性的进展。
由于上述问题,Python 基本上从未用于在应用商店中发布完整的应用程序,因此有关如何使用 SL4A(Android 脚本层)处理许多杂乱问题的文献非常少。
所以,如果你想制作一个使用原生 UI 元素的应用程序,你可以在 Play 商店中实际分发,或者两者兼而有之,遗憾的是,Python 不是一个选择。
我在市场上开发了 Android 应用程序,用 Python 编码。缺点:
- 到目前为止,我的用户还必须下载解释器,但会立即提示他们这样做。(更新:见下面的评论。)
- 该脚本没有正确退出,因此我包含一个 webView 页面,如果出现此问题,该页面会要求他们转到:设置:应用程序:强制关闭。