自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用Python訪問Java類

開發(fā) 后端
很高興給大家介紹一個(gè) Pyjnius 項(xiàng)目。這是一個(gè)可以使用在桌面或Android上,用來訪問Java類的Python庫。

很高興給大家介紹一個(gè) Pyjnius 項(xiàng)目。這是一個(gè)可以使用在桌面或Android上,用來訪問Java類的Python庫。

源代碼:github.com/kivy/pyjnius

文檔:pyjnius.readthedocs.org

也有其他一些的庫,如 JPypePy4j ,它們?cè)谠O(shè)計(jì)和可用性方面都不是很好。而使用 Jython也不為另一種選擇,因?yàn)槲覀兿胧褂?python開發(fā)Android項(xiàng)目。

現(xiàn)在就讓我來告訴你,如何簡單的使用Pyjnius:

  1. >>> from jnius import autoclass  
  2. >>> Stack = autoclass('java.util.Stack')  
  3. >>> stack = Stack()  
  4. >>> stack.push('hello')  
  5. >>> stack.push('world')  
  6. >>> stack.pop()  
  7. 'world' 
  8. >>> stack.pop()  
  9. 'hello' 

上面的代碼中,我們使用 autoclass 函數(shù),創(chuàng)建了一個(gè)類型代理,對(duì)應(yīng)著Java中java.util.Stack類的所有方法和字段屬性。

OK,也許你想要一個(gè)Android相關(guān)的例子,看這里:

  1. from jnius import autoclass  
  2. from time import sleep  
  3.    
  4. MediaRecorder = autoclass('android.media.MediaRecorder')  
  5. AudioSource = autoclass('android.media.MediaRecorder$AudioSource')  
  6. OutputFormat = autoclass('android.media.MediaRecorder$OutputFormat')  
  7. AudioEncoder = autoclass('android.media.MediaRecorder$AudioEncoder')  
  8.    
  9. # Record the Microphone with a 3GP recorder  
  10. mRecorder = MediaRecorder()  
  11. mRecorder.setAudioSource(AudioSource.MIC)  
  12. mRecorder.setOutputFormat(OutputFormat.THREE_GPP)  
  13. mRecorder.setOutputFile('/sdcard/testrecorder.3gp')  
  14. mRecorder.setAudioEncoder(AudioEncoder.ARM_NB)  
  15. mRecorder.prepare()  
  16.    
  17. # Record 5 seconds  
  18. mRecorder.start()  
  19. sleep(5)  
  20. mRecorder.stop()  
  21. mRecorder.release() 

好了,你可以從文檔中獲取更多的例子。

我們已經(jīng)可以映射Java/Python的類型,原生數(shù)組,支持方法重載等等。我們?cè)趦?nèi)部使用的是 Cython + JNI,因此消耗性能是最小的。

同時(shí), Python for android庫已經(jīng)完成,你可以從github中獲取。

英文原文 , OSChina.NET翻譯

責(zé)任編輯:林師授 來源: OSCHINA
相關(guān)推薦

2018-03-14 14:00:14

LinuxVimPython

2009-09-02 15:08:47

2025-01-20 08:40:00

Python對(duì)象

2009-06-30 13:58:00

Java啟動(dòng)器

2011-04-06 17:30:46

ACL

2009-07-30 21:22:02

ACL限制外界訪問網(wǎng)絡(luò)安全

2024-02-18 08:00:00

PythonAI多模態(tài)模型API

2018-01-18 14:50:56

Nginx實(shí)現(xiàn)CDSW

2009-02-20 09:19:56

AJAXASP.NETWeb Service

2020-06-04 10:59:10

JavaScript開發(fā)技術(shù)

2022-07-18 09:01:58

React函數(shù)組件Hooks

2010-01-25 14:00:27

C++類

2010-03-17 10:58:47

Python學(xué)習(xí)筆記

2016-10-12 15:11:56

2011-05-17 15:30:27

Oracle數(shù)據(jù)庫ADO

2011-09-02 09:51:21

2011-03-04 15:38:54

Vsftpd

2010-01-19 10:04:30

C++類

2011-10-26 10:43:19

Sencha Touc

2010-06-29 11:16:02

UML畫類圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)