KivyPython for android,从安装到运行android应用程序教程

2024-10-01 17:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用kivythonforandroid,之前没有android开发经验。 我已经安装了pyjnius,安装了所有的sdk、ndk和必要的文件。 我的问题是我找不到任何教程,我花了很多时间在很多天里试图找到一个从安装所有东西到在android设备上创建一个工作应用程序的教程。在

pyjnius 中的以下文本到语音转换示例为例

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)

我不知道它是如何组合在一起的,从我在google上搜索答案和教程中看到的情况来看,我并不孤单。在


Tags: 文件none时间sdk教程经验localetts
1条回答
网友
1楼 · 发布于 2024-10-01 17:27:13

我现在还不知道有这样大规模的教程。(编辑:据我所知,最接近的是dusty's tutorials,这是一组10篇关于如何构建kivy应用程序的帖子,最终部署到android上)。在

然而,我想真正的问题是你想做什么?例如,对于许多类型的应用程序,您根本不需要了解pyjnius的任何信息。只有当您想与android api进行一些特定的交互时,才需要这样做,而android api还没有打包到python为android提供的python模块中。如果你只是想(例如)使用加速计或振动手机,pyjnius的细节对你来说并不重要。在

from having everything installed to creating a working app on an android device taking in every step along the way.

在这里,我无法替代深入的教程,但我可以尝试澄清一些过程。原则上,你只需要了解kivy本身就可以创建一个android应用程序——这就是图形框架,一个纯粹的kivy应用程序或多或少会在不同的平台上运行。在

如果你想做一个android apk,pythonforandroid会为你处理所有的编译工作(并在后台使用pyjnius与javaapi进行接口),但是你不需要知道后台的细节来让你的应用正常工作。pythonforandroid还提供了一个Python模块,该模块允许您访问一些android api,其中一些api有文档记录here。事实上,在我看来,这个医生现在不是很好——甚至比我记忆中的还要糟糕——但它正在改变和改善。Python的android开发相当活跃。在

使用pythonforandroid制作apk并不需要任何特殊的知识(或者使用buildozer工具,这是一个更友好的前端),配置只不过是你的应用程序名和要编译的python模块之类的东西。编辑:如果您还没有看到,关于构建apk的kivy文档是here。这不是一个非常深入的教程,但过程应该不是很复杂。在

如果您想访问android api中尚未包装在python中的部分,那么您需要看看pyjnius。实际上,这是一个联合过程,你还需要看看(有很好文档记录的)android api。autoclass自动将java类包装在python包装器中,然后该示例所做的其他事情都会以这种方式调用android api——例如,tts.speak正在调用android api的TextToSpeech类的speak method。示例中的其他所有内容都在做同样的事情,尽管PythonActivity是一个pythonforandroid类,而不是在android文档中。在

所以,为了结束最初的问题,你想做什么?如果你想制作一个没有任何特定平台的图形应用,只要看看kivy,你不需要知道pyjnius等等。如果你有一些特定的android功能,你是对的,现有的文档不是很详细,但是我希望很清楚,它可能不是很难——就像你的例子,它只是从python调用有良好文档的java类和方法。在

我还强烈建议您查看kivy mailing list和/或irc channel。我完全同意kivy(或者更具体地说,它的相关项目,比如pythonforandroid和pyjnius)可能缺少文档或教程,但是kivy确实有一个非常有用的社区。如果你对你的目标有任何疑问或疑问,那里的人会很乐意讨论的。在

相关问题 更多 >

    热门问题