Kivyからjniusだけをインポートすることができるかどうか質問したいと思います。私はPython for Android "qpython"ディストリビューションをKivyでコンパイルして使用しています。 KivyにはPyjniusも含まれています。 今、Javaモジュールを呼び出すためにKivyアプリケーションを呼び出さずにjniusを使用しようとしていますか? kivyを呼び出すためのアイデアは、Kivy自体をインポートせずにモジュールを含んでいたか、Kivyをターミナル内でのみ使用するか、アプリケーションやウィンドウを呼び出さなくても可能でしたか?またはqpythonのpyjniusを直接コンパイルするための助け?おかげでkivyからpyjniusをインポート
0
A
答えて
0
Pyjniusは別のモジュールです、それはKivyに依存しません。 は何とかJNIEnv*
を取得することに依存していますが、現在のところ、pyjniusはSDL関数を使用してハードコードを行っています(SDLのイベントループが実際には動作していなくても動作します)。
あなたのアプリがどのように実行されるかについて実際に何を求めているのか分かりません(qpythonの中では、pyjniusは動作しません)が、一般的にポインタを変更するのは簡単です(あなたはそれを管理するためにいくつかのCコードが必要です)。これは、python-for-androidによって使用される方法で、pyjniusに適切なapiを使用するようにパッチを適用します。
0
これはqpythonの問題です。あなたは、あなたのスクリプトの前にこれを追加した場合にのみpyjniusを使用することができます。たとえば
#qpy:kivy
:
#-*-coding:utf8;-*-
#qpy:2
#qpy:kivy
from kivy.app import App
from kivy.uix.button import Button
from jnius import autoclass
MediaPlayer = autoclass('android.media.MediaPlayer')
player=MediaPlayer()
media="/storage/emulated/legacy/YOUR_MEDIA_FILE"
def reset_player():
if (player.isPlaying()):
player.stop()
player.reset()
def restart_player(_):
reset_player()
try:
player.setDataSource(media)
player.prepare()
player.start()
except:
player.reset()
class App(App):
def build(self):
return Button(text='Hello world!',on_release=restart_player)
if __name__=="__main__":
App().run()
・ホープこのヘルプあなた!
関連する問題
- 1. Kivy + PyJniusチェックアンドロイドバージョン
- 2. 実行方法./distribute.sh -m 'pyjnius kivy'
- 3. Pyjnius、Facebook/Kivyのログインボタン用Google SDK
- 4. kivy、pyjniusを使ってアンドロイド用GPSアプリを作る方法は?
- 5. Kivyの別のクラスからグラフをインポートするには?
- 6. Kivy Buildozer Apk - カスタムモジュールのインポート
- 7. Kivyのpyjnius - アプリにjniusを追加すると、それは私のkivyアプリにこれらのコード行を追加した後、それを
- 8. PyJniusを使ってPythonからJavaインターフェイスを実装する
- 9. 別のファイルからクラスをインポートするとKivyが遅くなります
- 10. pyjnius java抽象クラスの実装
- 11. kivyドロップダウンウィジェットから値を取得する
- 12. KivyがTextInputをポップアップから取得
- 13. Python + Kivy:バックエンドコードからイベントをディスパッチする
- 14. FlaskをKivy iOSにインポートできません
- 15. アンドロイドとkivyでpython PILをインポートするには?
- 16. kivy:ひどく整列ウィジェットベースクラスから
- 17. Kivy Popoupからのデータへのアクセス
- 18. CsvファイルリストからKivyへの表示
- 19. Kivy:ボタンがkivyビルダー
- 20. kivy.core.windowからウィンドウをインポートすると、クラッシュする2番目のKivyウィンドウが開きます
- 21. OSXのmatplotlib、kivyのインポート時にNSExceptionが発生しました
- 22. Excelからインポート
- 23. Kivy
- 24. kivy
- 25. Kivy on_release:.kvファイルのフィーチャーを遅らせるか待つか?
- 26. Kivy:クラス内のウィジェットを外部から更新しますか?
- 27. インポートされたモジュールからインポート関数
- 28. es6アンダースコアからインポート
- 29. ビューからのインポート
- 30. Acumaticaスプレッドシートからインポート
私は単純にしようとした場合: 'インポートjnius'私が手: 'トレースバック(最新の呼び出しの最後): ファイル内のファイル ""、1行目、「/ QPython/QPython2コア/構築/ python- install/lib/python2.7/site-packages/jnius/__ init__.py "、13行目、 ファイル" /QPython/QPython2-core/build/python-install/lib/python2.7/site-packages/ jnius/reflection.py "、9行目、 jnius.jnius.MetaJavaClass .__ new__(jnius/jnius.c:13255)のファイル" jnius_export_class.pxi " SystemError:PyObject_CallでエラーのないNULL結果 >>> ' –
fteinz
私は何が間違っているのか正確には分かりませんが、多分私は間違っていますそれは他の何かを実行することなく動作します。 KivyとSDLがなければ正常に動作しますが、qpythonに問題があっても大きな依存関係はありません。 – inclement