Android富文本编辑器开发之旅

技术选型

从确定要开发富文本编辑器到正式立项,差不多只有一周的时间,在这周内我结合公司已有的业务调研了市面上富文本编辑器的实现方式。主要有以下两种:

  1. Android原生实现,主要通过EditText,Span等相关技术。优点:交互效果比较理想,绕过了WebView的兼容性等问题。
    缺点:不能与网页端文本编辑器实现互通,web端通过css等实现一些新样式,原生如果要兼容新样式,就需要发版本支持,不够灵活。
  2. WebView+javascript方式实现。
    优点:能够与网页端实现互通,减少了对客户端的依赖,网页端出新样式,只需要通过更新JS就可以支持。
    缺点:首先要建立JS与原生之间稳定的沟通渠道(可以通过JSSDK来提供支持)。交互效果没有原生的理想。需要兼容各个版本的WebView以及其他兼容性问题。

考虑到App端需要与网页端实现内容互通,选取第二种方式作为我们富文本编辑器的实现方式。大致思路如下:

  1. 请求服务端接口,查询是否有JS更新,下载最新的编辑器JS。
  2. 挂载编辑器JS和其他JS(JSSDK),实现Js与Java互相调用。
  3. 编辑器内容逻辑,比如文字换行,图片插入和删除,字体加黑等都通过JS来实现。编辑器的复杂逻辑,比如多线程图片上传,图片上传失败重试,草稿保存与恢复等都是通过js调用java方法来实现。

    编辑器最终实现效果在差强人意,但是还存在一些三方ROM兼容性缺陷。
    下面谈一下在开发编辑器的过程中的积累的一些经验。

JS的挂载

J

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值