UI与框架的交互
# runJs(function code)
在HTML中,执行AiWork的Rhino脚本代码块
window.at.runJs(function (){
//这里写ATjs代码
printl("你好");
auto.home();
}.toString());
# runJsFile(String file)
在HTML中,执行AiWork的Rhino脚本文件
window.at.runJsFile('主脚本.js');
# callFunction(String funname,String arg)
在HTML中,调用AiWork的Rhino脚本中的函数
window.at.callFun('main',"hello");
# getRootPath()
在HTML中,获取项目根目录
window.at.getRootPath();
# getResourcesPath()
在HTML中,获取项目资源目录
window.at.getResourcesPath();
# setConfig(String path,String arg,String value)
在HTML中,存储数据到本地文件
path:存储路径,例如/sdcard/1.txt;
arg:参数
value:存储值
# 案例1
//存储到SD卡
window.at.setConfig('/sdcard/1.txt','a','1');
# 案例2
//存储到资源目录
let res = window.at.getResourcesPath();
window.at.setConfig(res + '1.txt','a','1');
# 案例3
删除缓存中的任务信息(置空值)
let path = window.at.getResourcesPath();
window.at.setConfig(path + '/' + 'conf.ini','task_info','');
# getConfig(String path,String arg,String value)
在HTML中,读取本地文件中的数据
path:存储路径,例如/sdcard/1.txt;
arg:参数
value:默认值,没有数据的情况下默认返回
window.at.getConfig('/sdcard/1.txt','a','1');
//从资源目录取数据
let res=window.at.getResourcesPath();
window.at.getConfig(res+'1.txt','a','1');
# publicSet(String key,String value)
在HTML中,将数据写入到公共变量
window.at.publicSet('a','1');
//对应aiwork取值就是
publicData.get('a')
# publicGet(String key)
在HTML中,读取公共变量
window.at.publicGet('a');
//对应aiwork写值就是
publicData.set('a','1')
# 示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>方式一</title>
<script language="JavaScript">
function test() {
window.at.runJs(function (){
//这里写js代码
printl("你好");
}.toString());
/*
window.at.close();
window.at.runJsFile('主脚本.js');
*/
}
</script>
</head>
<body>
<input type="Button" width="300" value="启动脚本" onClick="test()" />
</body>
</html>
# APP调用H5:
首先获取web控件,例如web控件的自定义ID是web
//初始化一个activity页面
var ac = new activity();
ac.loadXML(`
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="H5演示"
android:textSize="18sp"
android:textStyle="bold"
android:gravity="center"
android:paddingBottom="8dp" />
<WebView
android:id="@+id/web"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
`)
sleep.millisecond(毫秒 = 400);
var web1 = ac.findWebViewById('web');
# loadUrl(url)
web1.url('/代码/h5.html');
执行h5的js方法,注意代码事字符串
String runWebJs(String jscode)
返回值:类似js中eval执行js代码的返回值,一般是返回最后一个变量的值
//让浏览器运行js代码
web1.runWebJs(`alert("123")`);
# 示例
上次更新: 2024/11/06, 21:21:50