从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使用PyV8执行javascript代码示例分享
Dec 04 Python
Python多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
python中PIL安装简单教程
Apr 21 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
python数据类型_字符串常用操作(详解)
May 30 Python
python3实现小球转动抽奖小游戏
Apr 15 Python
Python集合操作方法详解
Feb 09 Python
Python日期格式和字符串格式相互转换的方法
Feb 18 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
python 实现两个npy档案合并
Jul 01 Python
django使用graphql的实例
Sep 02 Python
Python爬虫回测股票的实例讲解
Jan 22 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 count_chars()函数讲解
2019/02/14 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
js给selected添加options的方法
2015/05/06 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
Django如何配置mysql数据库
2018/05/04 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
Python json读写方式和字典相互转化
2020/04/18 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
Python实现疫情地图可视化
2021/02/05 Python
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
自主招生自荐信
2013/12/08 职场文书
房地产还款计划书
2014/01/10 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
清明扫墓感想
2015/08/11 职场文书
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏