从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中的计算示例
Jun 28 Python
Python实现调度算法代码详解
Dec 01 Python
tensorflow构建BP神经网络的方法
Mar 12 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
python 函数内部修改外部变量的方法
Dec 18 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
Python lxml库的简单介绍及基本使用讲解
Dec 22 Python
Python 机器学习工具包SKlearn的安装与使用
May 14 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/05/04 PHP
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python xml解析实例详解
2016/11/14 Python
Python输出各行命令详解
2018/02/01 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
印尼旅游网站:via
2017/11/12 全球购物
早读迟到检讨书
2014/01/24 职场文书
小小的船教学反思
2014/02/21 职场文书
端午节活动策划方案
2014/03/09 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
九年级历史教学反思
2016/02/19 职场文书
Django实现聊天机器人
2021/05/31 Python
Python保存并浏览用户的历史记录
2022/04/29 Python