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


Posted in Python onApril 20, 2015
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中获取。

Python 相关文章推荐
python网络编程之数据传输UDP实例分析
May 20 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
python数据处理实战(必看篇)
Jun 11 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
python使用KNN算法手写体识别
Feb 01 Python
Python实战之制作天气查询软件
May 14 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
python实现同一局域网下传输图片
Mar 20 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
python生成随机数、随机字符、随机字符串
Apr 06 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 #Python
python使用7z解压apk包的方法
Apr 18 #Python
python使用装饰器和线程限制函数执行时间的方法
Apr 18 #Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 #Python
python对指定目录下文件进行批量重命名的方法
Apr 18 #Python
python开启多个子进程并行运行的方法
Apr 18 #Python
C#返回当前系统所有可用驱动器符号的方法
Apr 18 #Python
You might like
php 静态页面中显示动态内容
2009/08/14 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
使用typeof方法判断undefined类型
2014/09/09 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python入门之modf()方法的使用
2015/05/15 Python
Python实现简单的代理服务器
2015/07/25 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python开发入门——set的使用
2020/09/03 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
高等教育学自荐书范文
2014/02/10 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书