安卓该如何显示 slatejs 格式的数据?
安卓该如何显示 slatejs 格式的数据?
pigspy · 2 天前 · 619 次点击
服务器接口返回的数据是 slatejs 的数据格式,类似
[{
"type": "paragraph",
"children": [{
"type": "emotion",
"id": 51,
"children": [{
"text": ""
}]
}, {
"text": "来去也就剩下那么些人了。"
}]
}]
安卓 APP 应该怎么显示呢?不想用 webview 来处理
12 条回复 • 2021-08-19 20:55:42 +08:00
1
learningman 2 天前 这不 json 吗
|
2
pigspy 2 天前 @learningman
slatejs 是一个 web 端的富文本框架,这个数据结构翻译成 html 就是 `<p><img src=”./51″>来去也就剩下那么些人了。<p>`, |
3
wobuhuicode 2 天前 这种*简单的方法就是直接用 webview 。使用 js 来解析 js 。*后导出回去给 java
|
4
pigspy 2 天前 @wobuhuicode
webview 估计是*后的备选方案,因为这是个发帖回帖的界面,原来整个模块都是 kotlin 写的,如果要换成 webview 的话,工作量太大了 |
5
wobuhuicode 2 天前 @pigspy webview 只是用来解析,不要求它用来展示。解析完了数据返回 kotlin 层,销毁 webview
|
6
tanranran 2 天前 @pigspy #4 webview 和 kotlin 是两回事吧,建议 webview,自己写解析器的话,要考虑的问题太多了
|
7
zhanlanhuizhang 2 天前 等的就是这个时候,天降大任,你实现一个轮子。
|
8
ZoteTheMighty 2 天前 直接 new 一个 webview 解析,这个 WebView 不需要展示, 只需要在 WebView 的 onLoadResource (好像是这个)里去拿解析的东西就好了, 然后退出销毁该 WebView 即可。
|
9
pigspy 1 天前 via Android @wobuhuicode
明白你的意思了,非常感谢 |
10
ch2 1 天前 这种是富文本,你写个 converter 转成安卓原生富文本元素就行了
|
11
aristolochic 1 天前 Slate 的官方序列化示例就是 switch 判断 children.type 对应输出 html 片段+递归;期间只用到了 Text 类作为判断是否为文本节点结束递归的依据。
所以其实对着它的 spec 很快就能写出来,也不必要用它的 Text 类判断是否为文本,文本节点特征很明显嘛。 如果 case 不多的话,为了这个需求就启动一个 WebView 是不是有些 Overkill 了 |
12
pigspy 1 天前 @aristolochic
嗯,我现在就是照着官网的例子自己写了一个反序列化函数来转换成 html |