我准备开始进行一些Android开发,需要选择一种语言。我知道Python,但是需要学习Java。我想知道那些在Android上使用Python的人所遇到的限制是什么。此外,与Java相比,是否有任何优势?
关于GUI,是的,界面默认情况下是自定义的(尝试匹配Android的Holo主题)。但是它可以定制成其他外观和感觉,虽然我个人没有尝试过。
哦,只要谈论基于Python的安卓应用程序,我在stackoverflow上发现了这个项目PyMob,他们的apps页面列出了一些有趣的应用程序。
出于类似的原因,我最近进行了调查。我的结论是我不能使用Python开发本地外观应用程序,这正是我当时想要的。具体而言:
Python无法从Java UI类接收回调,因此您无法使用任何本地Java UI元素,例如ListView等。仅对话框等是容易获取的。如果您有完全自定义的UI,例如游戏,则可以尝试Android平台上的PyGame,或者您可以查看Kivy,该工具还使用了PyGame。
打包Python应用程序非常困难,特别是因为默认情况下Android上没有包含Python解释器。 Kivy和PyGame团队正在不断取得一些进展。
由于前述问题,Python基本上从未用于制作在应用商店发布的完整应用程序,因此处理许多与SL4A(Scripting Layer For Android)相关的杂项问题的文献非常少。
因此,如果您想制作一个使用本地UI元素的应用程序,可以在Play商店中实际分发,或者两者都可以,那么遗憾的是Python不是一个选择。
我已经开发了一些在市场上使用的Android应用,它们是用Python编写的。不过,也存在一些缺点: