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)建了一個(gè)類型代理,對應(yīng)著Java中java.util.Stack類的所有方法和字段屬性。
OK,也許你想要一個(gè)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,因此消耗性能是最小的。
同時(shí), Python for android庫已經(jīng)完成,你可以從github中獲取。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
