美文网首页
Android JavaScript 引擎引入和使用

Android JavaScript 引擎引入和使用

作者: 田田ww | 来源:发表于2021-08-16 11:07 被阅读0次

    最近开发中遇到一个问题

    在实现对IoT设备的管控过程中,产品提出智慧屏设备在联网和断网状态都可实现对子设备相同的管控能力。当联网时通过云端交互,断网时与边缘网关直接交互。见下图 设备管控.png

    联网管控时,后台对应客户端每个UI组件定义了参数名,通过参数对应表转化为底层管控参数,再进行下发。
    断网时需要在客户端侧进行相同的转化。
    首先在联网时通过接口获取后端参数对应表并保存在本地数据库中,这部分采用Room架构。
    在获取转化关系式时,由于对应关系非线性且每个设备转化关系式不同,后台通过json表达式进行存储和解析,客户端为实现该转化关系,需要引入JavaScript引擎进行json解析。
    参考如下笔记
    Android 与JS交互总结(包括J2V8)
    Android JavaScript 引擎学习之初探 V8
    官网链接

    使用方法

    1、build.gradle引入 //JavaScript 引擎 V8
    implementation 'com.eclipsesource.j2v8:j2v8:4.8.0@aar'
    2、使用方法如下

    //初始化JS引擎
    V8 runtime = V8.createV8Runtime();
    //JS代码 注意:根据JS表达式确定返回值类型
    Integer paramsVal = runtime.executeIntegerScript(""
                                + "var e = " + eleValue + ";\n"
                                + "var value = " + ele2paramsExp + ";\n"
                                + " typeof(value) === 'number' ? value : 0");
    //手动释放资源
    runtime.release();
    

    相关文章

      网友评论

          本文标题:Android JavaScript 引擎引入和使用

          本文链接:https://www.haomeiwen.com/subject/aylfvltx.html