Python在Android上有什么限制?

时间:2012-07-22 12:38:48

标签: java android python sl4a

我正准备开始一点Android开发,需要选择一种语言。我知道Python,但必须学习Java。我想向那些在Android上使用Python的人了解其局限性。另外,Java有什么好处吗?

3 个答案:

答案 0 :(得分:25)

安德鲁提到的大多数要点,我只是想提一下,python可以用于在GooglePlay甚至iOS上发布的完整的应用程序。我不能代表其他框架,但这里有一些使用Kivy发布的应用程序的例子。

  1. 流程工艺Google Play iOS
  2. Fantasy War hammer
  3. PreseMT is a multitouch presentation maker
  4. Memo robots
  5. Ground Truth
  6. Kaleidoscope
  7. Showcase demo example from Kivy project
  8. DefelectTouch游戏iOS
  9. Bargenius还有更多......
  10. 在包装方面,我们试图让它尽可能简单,我们也提供

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

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

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

答案 1 :(得分:16)

我最近因类似原因对此进行了调查。我的结论是我无法使用Python开发一个本机外观的应用程序,这正是我当时想要的。具体做法是:

  • Python无法从Java UI类接收回调,因此您无法使用任何本机Java UI元素(如ListView等)。只有对话框等易于使用。如果你有一个完全自定义的用户界面,比如游戏,你可以尝试PyGame for Android,或者你可以看看Kivy,它也使用PyGame。

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

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

因此,如果您想创建一个使用本机UI元素的应用程序,您可以在Play商店中实际分发,或者两者兼而有之,那么遗憾的是,Python不是一个选项。

答案 2 :(得分:4)

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

  1. 到目前为止,我的用户也必须下载解释器,但会立即提示他们这样做。 (更新:见下面的评论。)
  2. 脚本无法正常退出,因此我添加了一个webView页面,要求他们转到:设置:应用:ForceClose如果发生此问题。