我正在使用SL4A在Android上运行Python。我有一个脚本来计算看起来像这样的平均值:
import android
droid = android.Android()
var1 = 10
var2 = 20
var3 = 30
average = float((var1+var2+var3)/3)
droid.makeToast('Average:'+str(average))
f=open('/data/data/com.example.devicecommunication/files/result.txt','w')
f.write(str(average))
f.close()
我的要求是向名为droid
的{{1}}添加一个方法,这样我就可以在那里定义自己的逻辑。
这可能吗?
答案 0 :(得分:1)
您可以在sl4a中使用Python定义类和方法,如下所示:
class MyDroid():
def stop(self):
return "I stopped"
这是你要找的吗?
您在SL4A的Wiki页面上有很多示例(教程,API参考,概述):HERE。
您可以定义一个全局变量,用于在循环中运行程序,当不再满足条件时,调用stop
将您带出循环并结束程序。
类似的东西会起作用:
runScript = True
def stop():
global runSCript
runScript = False
while runScript:
--do actions
if --condition-- :
stop()
我不认为这是Python的最佳实践,但它可以工作..
答案 1 :(得分:0)
您可以将任何喜欢的内容绑定到droid
对象...
droid.stop = lambda: 1
print(droid.stop()) # prints 1
目前尚不清楚你想做什么。您发布的脚本没有明显用于stop
方法。您可以执行以下操作,但我不确定您为什么这样做:
def stop():
import sys
sys.exit()
droid.stop = stop
您需要更详细地解释您尝试解决的问题。