从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中的函数用法入门教程
Sep 02 Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
MySQL适配器PyMySQL详解
Sep 20 Python
Python金融数据可视化汇总
Nov 17 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
pandas的相关系数与协方差实例
Dec 27 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
PHP版 汉字转码的实现详解
2013/06/09 PHP
PHP类的反射用法实例
2014/11/03 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
python中字符串前面加r的作用
2015/06/04 Python
python与php实现分割文件代码
2017/03/06 Python
Python如何快速实现分布式任务
2017/07/06 Python
Python实现的桶排序算法示例
2017/11/29 Python
Python实现图片识别加翻译功能
2019/12/26 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
新郎新娘婚礼答谢词
2014/01/11 职场文书
合作意向协议书范本
2014/03/31 职场文书
2014年个人年终总结
2015/03/09 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers