首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用J2V8将ByteArray作为参数传递给函数

如何使用J2V8将ByteArray作为参数传递给函数
EN

Stack Overflow用户
提问于 2020-02-27 07:01:51
回答 2查看 121关注 0票数 1

我正在尝试使用Android上的J2V8库来调用一个javascript函数并传递一个参数给它。下面的代码是我所拥有的,但不知道如何将bytes ByteArray传递给被调用的函数。

代码语言:javascript
复制
private fun decodePbfBytes(bytes: ByteArray?){
    val params = arrayOf(bytes)
    val v8 = V8.createV8Runtime()
    var v8Array = V8Array(v8) //how do I add bytes to this?
    val fileContents = MyApp.sharedInstance.assets.open("pbfIndex.js").bufferedReader().use { it.readText() }
    v8.executeScript(fileContents)
    val result = v8.executeStringFunction("", v8Array)
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-20 20:00:25

作为一种临时解决方案,虽然非常简单,但我将字节数组转换为逗号分隔的数字字符串,然后在js中将它们分隔为字节数组。粗糙,传递的数据大小会成倍增加。但就目前而言,这是可行的,我可以继续其他的事情。

票数 1
EN

Stack Overflow用户

发布于 2020-02-27 10:52:09

试试这个:

代码语言:javascript
复制
var buffer = V8ArrayBuffer(bytes, bytes.size)
var v8Array = V8TypedArray(v8, bytes, V8Value.BYTE, 0, 2)
V8Array(v8).add("v8Array", v8Array)

代码语言:javascript
复制
...
V8Array(v8).push( v8Array)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60423896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档