Python在Android上的局限性是什么?

2022-09-01 14:16:25

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


答案 1

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

  1. 过程工艺谷歌播放iOS
  2. 幻想战争锤子
  3. PreseMT是一款多点触控演示工具
  4. 备忘录机器人
  5. 地面实况
  6. 万花筒
  7. 展示 Kivy 项目的演示示例
  8. Defelect触控游戏iOS
  9. 巴格尼乌斯和更多...

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

  • 一个预构建的VM,可用于制作您的apk,除了复制项目目录并运行一个命令之外,您无需执行任何操作。

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

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


答案 2

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

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

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

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

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