从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
Python复制目录结构脚本代码分享
Mar 06 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
python实现五子棋小程序
Jun 18 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
django的autoreload机制实现
Jun 03 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
Oct 04 Python
C站最全Python标准库总结,你想要的都在这里
Jul 03 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原创论坛
2006/10/09 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
简述php环境搭建与配置
2016/12/05 PHP
vmware linux系统安装最新的php7图解
2019/04/14 PHP
jquery 问答知识整理
2010/02/11 Javascript
基于jquery自定义图片热区效果
2012/07/21 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
对python周期性定时器的示例详解
2019/02/19 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
快速一键生成Python爬虫请求头
2021/03/04 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
大型活动组织方案
2014/05/10 职场文书
反腐倡廉标语
2014/06/24 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
报案材料怎么写
2015/05/25 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
Django路由层如何获取正确的url
2021/07/15 Python