• 技术文章 >后端开发 >Python教程

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

    2016-06-06 11:25:58原创485
    from jnius import autoclass
    >>> Stack = autoclass('java.util.Stack')
    >>> stack = Stack()
    >>> stack.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(AudioSource.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中获取。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Python
    上一篇:python关闭windows进程的方法 下一篇:python获取当前计算机cpu数量的方法
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 归纳总结Python函数进阶的使用方法• Python接口自动化测试必备基础之http协议详解• Python 3.11中的最佳新功能和功能修复• 实例详解Python面向对象的四大特征• Python数据分析之concat与merge函数(实例详解)
    1/1

    PHP中文网