android - Chaquopy 没有初始化类

标签 android chaquopy

当使用 chaquopy for android 时,从 java 调用模块不会运行 __init__ 方法。

PyObject utilModule = py.getModule("utils.Utils").get("Utils");

在没有构造函数的情况下创建对 python 的对象引用。如果没有额外的“init”函数并在创建后调用它,有没有办法做到这一点?

最佳答案

假设 utils.Utils 是一个模块,而 Utils 是该模块中的一个类,您的代码只是获取对该类的引用。如果你想实际实例化这个类,你可以这样做:

PyObject utilObj = py.getModule("utils.Utils").callAttr("Utils");

或者这个:

PyObject utilClass = py.getModule("utils.Utils").get("Utils");
PyObject utilObj = utilClass.call();

如果要传递构造函数参数,只需将它们添加到callAttrcall 的参数列表的末尾即可。

请参阅 the documentation 中的 ZipFile 示例.

关于android - Chaquopy 没有初始化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56386722/

相关文章:

java - connect() 方法忽略其超时值

java - 如何在没有声音的情况下显示通知java

java - 进程 'command ' C :/Users/xxxx/python. exe'' 已完成,退出值非零 1

android - gradle 构建时无法应用插件 [id 'com.chaquo.python']

android - 为动态创建的元素创建 XML

php - 将远程数据库 (mysql) 与 sqlite 数据库同步,反之亦然

android - 如何序列化对象并将其保存到 Android 中的文件中?

java - 使用 Chaquopy 在 Android 中自写 python 代码

chaquopy - 请将 python.buildPython 设置为您的 Python 可执行文件路径