日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何使用Python訪問(wèn)Java類(lèi)

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

成都創(chuàng)新互聯(lián)公司專(zhuān)注于乳山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。乳山網(wǎng)站建設(shè)公司,為乳山等地區(qū)提供建站服務(wù)。全流程按需定制,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

源代碼:github.com/kivy/pyjnius

文檔:pyjnius.readthedocs.org

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

現(xiàn)在就讓我來(lái)告訴你,如何簡(jiǎ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è)類(lèi)型代理,對(duì)應(yīng)著Java中java.util.Stack類(lèi)的所有方法和字段屬性。

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的類(lèi)型,原生數(shù)組,支持方法重載等等。我們?cè)趦?nèi)部使用的是 Cython + JNI,因此消耗性能是最小的。

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

英文原文 , OSChina.NET翻譯


當(dāng)前標(biāo)題:如何使用Python訪問(wèn)Java類(lèi)
文章出自:http://www.dlmjj.cn/article/djdocii.html