我刚刚开始潜入 Android 世界。我有很多使用 Python 编程应用程序的经验,所以我一直在寻找一个很好的组合“Android + Python”,我想我找到了:Kivy。
我需要制作能够从互联网下载和上传内容的应用程序,可能与 Android 中包含的地图组件建立某种联系,以及制作一个不错的 Android 应用程序。
但我真的不想把时间浪费在可能行不通的事情上。那么,有没有人有使用Kivy开发 Android 应用程序的经验?它真的有用、简单、可能吗?还是您有更好的选择?
一段时间以来,我一直在使用 kivy 并为其做出贡献,并将其用于面向市场的大型应用程序。虽然还没有原生开发那么完整(不确定是否可以使用地图Android API,但有替代方案),它运行良好,性能良好。用于快速原型设计的 kv 语言真的很酷。
作为奖励,你的应用程序也可以在 windows/linux/mac/ios 上运行……(我们仍然必须尝试在苹果商店上架,但从技术上讲它可以工作)。编辑:至今至少有一款 kivy 应用在苹果市场上被接受,如果您有兴趣,请寻找“defletouch” 。
与 SL4A 不同,您可以获得一个真正的 apk 来分发,带有 kivy 以及一个非常漂亮和流畅的 GUI api,适用于多点触控应用程序。
我相信KivyMaps与您尝试做的非常相似。
如果您避免使用非 Android 平台特定代码,那么您的应用程序应该可以在 Android 上运行而不会出现任何问题。
我也建议查看适用于 Android 的 Python,它是 Kivy 的姊妹项目,旨在帮助您创建自己的 Python 发行版,包括您想要的模块,并创建一个包含 python、libs 和您的应用程序的 apk。具体看看它的 Android 原生 API 包装器。该项目是新项目,因此仅支持少数原生 API,但如果需要,它可能会让您了解如何为 Android 位置服务 API 创建包装器。
至于谷歌地图外部图书馆,我同意tshirtman。我不确定如何使用它,但正如上面的 KiviMaps 链接突出显示的那样,有可用的替代方法。
我对它的经验很少。但我确实知道
SL4A(Android 脚本层)也支持使用 Python 编写 Android 应用程序。在您决定使用什么之前,可能值得研究一下。
Kivy 是用于 NUI 开发的跨平台 Python 框架。它适用于一些原型 android 应用程序。您可以使用 Kivy Launcher 进行更快速的测试。您可以使用 python 库快速开发功能。您可以使用 pyjnius 访问基于 java 的功能的 java 类。
我建议您阅读面向新手的 Python 中的 Kivy 交互式应用程序一书。
但在更深层次上,您应该知道如何谨慎使用基本小部件。因为存在一些令人困惑的概念。对于画布,它在 html5 中是不同的概念。Kivy 语言的班级规则和班级对于新手来说有些混乱。
对于 android 应用程序,有一些难以使用的非基本支持库,如 Beautiful Soup(著名的 html 和 xml 解析器库)。