在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中

Posted

技术标签:

【中文标题】在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中【英文标题】:Insert value to function in python file using Chaquopy in Android Studio 【发布时间】:2021-06-11 17:29:59 【问题描述】:

我正在尝试将“Hello World”插入到 python 文件中的 def m(input) 中。但它不起作用,我该如何解决?

main.py

def m(input):
    return input

MainActivity.java

if(!Python.isStarted())
    Python.start(new androidPlatform(this));

Python py = Python.getInstance();
PyObject pyf = py.getModule("main");
PyObject obj = pyf.callAttr("m('Hello World')");
text.setText(obj.toString());

这是我得到的错误

com.chaquo.python.PyException: AttributeError: module 'main' has no attribute 'm('Hello World')'

【问题讨论】:

【参考方案1】:

callAttr 的参数应该单独传递,而不是作为单个 Python 表达式。例如:

pyf.callAttr("m", "Hello world");

有关详细信息,请参阅 callAttr documentation 和 examples。

【讨论】:

以上是关于在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Android Studio中使用Uiautomator

在 android studio 中使用设备调试时,Android Logcat 为空

在Android Studio中使用lambda表达式

在android项目和库中使用支持库(Android Studio)

如何在 Android Studio 中使用我自己的 Android.mk 文件

如何设置android studio run release