从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抓取京东图书评论数据
Aug 31 Python
在Django中创建第一个静态视图
Jul 15 Python
Python 类与元类的深度挖掘 I【经验】
May 06 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
对pandas replace函数的使用方法小结
May 18 Python
python采集微信公众号文章
Dec 20 Python
Django保护敏感信息的方法示例
May 09 Python
python列表推导式操作解析
Nov 26 Python
使用python动态生成波形曲线的实现
Dec 04 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
如何用python清洗文件中的数据
Jun 18 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数据库配置文件一般做法分享
2012/07/07 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
python通过线程实现定时器timer的方法
2015/03/16 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
周年庆典邀请函范文
2014/01/23 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
大型活动组织方案
2014/05/10 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
建国大业观后感600字
2015/06/01 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
德生BCL3000抢先使用感受和评价
2022/04/07 无线电