28

我正准备开始一点 Android 开发,需要选择一种语言。我知道 Python,但必须学习 Java。我想从你们这些在 Android 上使用 Python 的人那里知道有什么限制。另外,Java有什么好处吗?

4

3 回答 3

25

Andrew 所提到的大部分观点,我只想提一下,python 可以并且被用于在 GooglePlay 甚至 iOS 上发布的成熟应用程序。我不能代表其他框架,但这里有一些使用 Kivy 发布的应用程序示例。

  1. 工艺流程Google Play iOS
  2. 幻想战锤
  3. PreseMT 是一个多点触控演示制造商
  4. 备忘录机器人
  5. 地面真相
  6. 万花筒
  7. 来自 Kivy 项目的展示示例
  8. DefelectTouch 游戏iOS
  9. 巴格尼乌斯和更多...

在包装上,我们试图使其尽可能简单,我们还提供

  • 一个预构建的虚拟机,可以用来制作你的 apk,除了复制你的项目目录并运行一个命令之外,你什么都不用做。

在 GUI 上,是的,用户界面是自定义的,默认情况下(尝试匹配 Android 的 Holo 主题)。然而,它可以定制为类似于其他外观和感觉,虽然我没有亲自尝试过。

哦,只要有人在谈论 android 上基于 python 的应用程序,我发现 stackoverflow PyMob上提到了这个项目,他们的应用程序页面提到了一些有趣的应用程序。

于 2012-08-05T22:11:42.197 回答
17

我最近出于类似的原因对此进行了调查。我的结论是,我不能使用 Python 来开发一个看起来像原生的应用程序,而这正是我当时想要的。具体来说:

  • Python 无法接收来自 Java UI 类的回调,因此您不能使用任何原生 Java UI 元素,例如 ListView 等。只有对话框等易于使用。如果你有一个完全自定义的 UI,比如游戏,你可以试试PyGame for Android,或者你可以看看Kivy,它也使用 PyGame。

  • Python 应用程序的打包非常困难,特别是因为默认情况下 Android 不包含 Python 解释器。Kivy 和 PyGame 团队在这方面取得了一些间歇性的进展。

  • 由于上述问题,Python 基本上从未用于在应用商店中发布完整的应用程序,因此有关如何使用 SL4A(Android 脚本层)处理许多杂乱问题的文献非常少。

所以,如果你想制作一个使用原生 UI 元素的应用程序,你可以在 Play 商店中实际分发,或者两者兼而有之,遗憾的是,Python 不是一个选择。

于 2012-07-22T16:51:39.283 回答
4

我在市场上开发了 Android 应用程序,用 Python 编码。缺点:

  1. 到目前为止,我的用户还必须下载解释器,但会立即提示他们这样做。(更新:见下面的评论。)
  2. 该脚本没有正确退出,因此我包含一个 webView 页面,如果出现此问题,该页面会要求他们转到:设置:应用程序:强制关闭。
于 2012-10-06T09:45:40.577 回答