從Python程序中訪問Java類的簡單示例
from jnius import autoclass
>>> Stack = autoclass('java.util.Stack')
>>> stack = Stack()
>>> stack.push('hello')
>>> stack.push('world')
>>> stack.pop()
'world'
>>> stack.pop()
'hello'
上面的代碼中,我們使用 autoclass 函數(shù),創(chuàng)建了一個類型代理,對應(yīng)著Java中java.util.Stack類的所有方法和字段屬性。
OK,也許你想要一個Android相關(guān)的例子,看這里:
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()
好了,你可以從文檔中獲取更多的例子。
我們已經(jīng)可以映射Java/Python的類型,原生數(shù)組,支持方法重載等等。我們在內(nèi)部使用的是 Cython + JNI,因此消耗性能是最小的。
同時, Python for android庫已經(jīng)完成,你可以從github中獲取。
相關(guān)文章
Python使用keras和tensorflow遇到的問題及解決
這篇文章主要介紹了Python使用keras和tensorflow遇到的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
給你選擇Python語言實現(xiàn)機器學(xué)習(xí)算法的三大理由
這篇文章主要介紹了給你選擇Python語言實現(xiàn)機器學(xué)習(xí)算法的三大理由,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
Python urllib request模塊發(fā)送請求實現(xiàn)過程解析
這篇文章主要介紹了Python urllib request模塊發(fā)送請求實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12
python XlsxWriter模塊創(chuàng)建aexcel表格的實例講解
今天小編就為大家分享一篇python XlsxWriter模塊創(chuàng)建aexcel表格的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05

