从Python程序中访问Java类的简单示例

网友投稿 222 2023-08-02


从Python程序中访问Java类的简单示例

fromhttp:// jnius import autoclass

>>> Stack = autoclass('java.util.Stack')

>>> stack = Stack()

>>> BLBaDQJqstack.push('hello')

>>> stack.push('world')

>>> stack.pop()

'world'

>>> stack.pop()

'hello'

上面的代码中,我们使用 autoclass 函数,创建了一个类型代理,对应着Java中java.util.Stack类的所有方法和字段属性。

OK,也许你想要一个android相关的例子,看这里:

from jnius import autoclass

from time import sleep

MediaRecorder = autoclass('android.media.MediaRecorder')

AudioSource = autoclass('android.media.MediaRecorder$AudioSource')

OutputFormat = autoclass('android.media.MediaRecorder$OutputFormat')

AudioEncoder = autoclass('android.media.MediaRecorder$AudioEncoder')

# Record the Microphone with a 3GP recorder

mRecorder = MediaRecorder()

mRecorder.setAudioSource(AudioSourBLBaDQJqce.MIC)

mRecorder.setOutputFormat(OutputFormat.THREE_GPP)

mRecorder.setOutputFile('/sdcard/testrecorder.3gp')

mRecorder.setAudioEncoder(AudioEncoder.ARM_NB)

mRecorder.prepare()

# Record 5 seconds

mRecorder.start()

sleep(5)

mRecorder.stop()

mRecorder.release()

好了,你可以从文档中获取更多的例子。

我们已经可以映射Java/python的类型,原生数组,支持方法重载等等。我们在内部使用的是 Cython + JNI,因此消耗性能是最小的。

同时, Python for android库已经完成,你可以从github中获取。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实现利用广度优先遍历(BFS)计算最短路径的方法
下一篇:JavaMail实现邮件发送的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~