我正在尝试使用Kivy Python-for-android,没有以前的android开发经验。 我安装了pyjnius,安装了所有sdk,ndk和必要的文件。 我的问题是我找不到任何教程,花了很多时间试图找到一个从安装所有东西到在Android设备上创建一个工作应用程序的过程中的每个步骤。
获取以下文字到语音示例from jnius import autoclass
Locale = autoclass('java.util.Locale')
PythonActivity = autoclass('org.renpy.android.PythonActivity')
TextToSpeech = autoclass('android.speech.tts.TextToSpeech')
tts = TextToSpeech(PythonActivity.mActivity, None)
# Queue something in french
tts.setLanguage(Locale.FRANCE)
tts.speak('Bonjour tout le monde.', TextToSpeech.QUEUE_ADD, None)
我迷失了这一切是如何融合在一起的,并且在我用谷歌搜索答案和教程的过程中看到的东西来判断,我并不孤单。
答案 0 :(得分:2)
我现在还不知道任何大型教程。 (编辑:我知道的最接近的事是dusty's tutorials,这是一组关于如何建立一个kivy应用程序,在部署到最终机器人10个)
但是,我想这里真正的问题是你想要做什么?例如,对于许多类型的应用程序,您根本不需要了解pyjnius。如果你想要做的与尚未包装的蟒蛇换机器人提供的Python模块在Android API的一些特定的相互作用只是必要的。如果您只是想(例如)使用加速度计或振动手机,pyjnius的细节对您来说并不重要。
从安装了所有内容到在Android设备上创建一个正常工作的应用程序,并在此过程中的每一步。
我不能在这里替代深度教程,但我可以尝试澄清一些过程。原则上,你真的只需要知道kivy自己创建一个Android应用程序 - 这是图形化的框架,一个纯粹的kivy应用程序将或多或少地运行相同的跨越不同的平台。
如果你想在Android APK,蟒蛇换机器人处理所有的编译你(和使用pyjnius在后台用的Java API接口),但你不会需要知道底细让您的应用程序正常工作。 Python-for-android还提供了一个python模块,可以让你访问一些android apis,其中一些是文档here。实际上,在我看来,这个文档现在不是很好 - 比我记得的还要糟糕 - 但它正在改变和改进。 Python-for-android非常活跃。
您不需要任何专业知识,以与蟒蛇换的Android APK的(或buildozer工具,这是一个友好的前端),配置是喜欢你的应用程序名称和所有刚刚东西要编译的python模块。编辑:如果你还没有看到它,关于构建apk的kivy文档是here。这不是一个非常深入的教程,但这个过程不应该非常复杂。
如果您要访问的,尚未包裹在蟒蛇的Android API的部分,那就是当你需要看pyjnius。实际上这是一个联合过程,你还需要查看(记录良好的)android api。 autoclass
包装在一个Python包装的Java类自动的,那么一切的例子并呼吁以这种方式在Android API - 例如,tts.speak
被调用speak method的{{3 android api的类。在本例中其它所有事情都做同样的事情,但PythonActivity
是记录在其中而不是在机器人文档蟒换机器人类。
所以要完成原始问题,你想做什么?如果你想使一个图形化的应用,而无需任何特定的平台具体的东西,只是看kivy,你并不需要了解pyjnius等。如果你心中有一个特定的Android功能,你是对的,现有的文件是不是很详细,但我希望这是明确表示,它可能不是很辛苦 - 喜欢你的例子只是要求有据可查的Java类和方法,来自蟒蛇的名字。
我还强烈建议您查看kivy TextToSpeech和/或mailing list。我完全同意,kivy(或更特别是它的相关项目,如蟒蛇换Android和pyjnius)可以缺少文档或教程,但kivy确实有很大的帮助的社区。如果您对任何目标有任何疑问或疑问,那么人们将很乐意与您讨论。