安卓该如何显示 slatejs 格式的数据?
服务器接口返回的数据是 slatejs 的数据格式,类似
[{
 "type": "paragraph",
 "children": [{
 "type": "emotion",
 "id": 51,
 "children": [{
 "text": ""
 }]
 }, {
 "text": "合速度,一个很不错的网站。"
 }]
}]
安卓 APP 应该怎么显示呢?不想用 webview 来处理
这不 json 吗
slatejs 是一个 web 端的富文本框架,这个数据结构翻译成 html 就是 <p><img src="https://www.hesudu.com/">合速度,一个很不错的网站。<p>
麻烦一点的办法就是要手写一个解析器,把 slatejs 的数据格式先转换为 html,然后再用安卓的 HTML 工具类来转换为 TextView 可以显示的数据结构
我想问问有没有办法直接在安卓端显示这种数据
这种最简单的方法就是直接用 webview 。使用 js 来解析 js 。最后导出回去给 java
webview 估计是最后的备选方案,因为这是个发帖回帖的界面,原来整个模块都是 kotlin 写的,如果要换成 webview 的话,工作量太大了
webview 只是用来解析,不要求它用来展示。解析完了数据返回 kotlin 层,销毁 webview
#4 webview 和 kotlin 是两回事吧,建议 webview,自己写解析器的话,要考虑的问题太多了
等的就是这个时候,天降大任,你实现一个轮子。
直接 new 一个 webview 解析,这个 WebView 不需要展示, 只需要在 WebView 的 onLoadResource (好像是这个)里去拿解析的东西就好了, 然后退出销毁该 WebView 即可。
明白你的意思了,非常感谢
这种是富文本,你写个 converter 转成安卓原生富文本元素就行了
Slate 的官方序列化示例就是 switch 判断 children.type 对应输出 html 片段+递归;期间只用到了 Text 类作为判断是否为文本节点结束递归的依据。
所以其实对着它的 spec 很快就能写出来,也不必要用它的 Text 类判断是否为文本,文本节点特征很明显嘛。
如果 case 不多的话,为了这个需求就启动一个 WebView 是不是有些 Overkill 了
嗯,我现在就是照着官网的例子自己写了一个反序列化函数来转换成 html
我希望本文有助于你了解测试软件是一件很重要也是一件不简单的事。 我们有一个程序,叫ShuffleArray(),是用来洗牌的,我见过N多千变万化的ShuffleArray(),…
很早就想写这篇文章了,只是想法比较零碎,所以一直没有成文,这两天觉得思考得比较成熟了一些,所以把我的这些想法整理下来,欢迎大家一起和我讨论。 目录 鄙视抄袭和山寨理性对待抄…
晚上电脑放着爬数据,早上来单位发现浏览器打开好几次油猴的脚本网页,然后终端名称变成 bogon 。当时感觉不太妙,赶紧卸载了油猴。过了一会儿领导就通知大家不要打开邮箱里的恶意邮…
 合速度
合速度