安卓使用腾讯tbs查看pdf/word文件(解决x5内核下载问题)

 

     

 引言: 项目需要预览pdf、word等文件,但是用户不一定安装了wps这样的软件,因此需要在项目里支持查看这些文件。笔者本身是不想使用webview的,因此尝试了很多原生的,但是对于doc文件基本没有什么好的方式,到最后还是用了腾讯的tbs文件游览服务。接入tbs坑较多,主要是x5内核的下载和各种配置问题,花费了两天才整理好,因此分享出来防止大家踩坑。

一、首先梳理一下选择tbs的理由

      对于doc,docx文件,除tbs外似乎只有一种方式,利用poi解析doc,然后自己渲染成html。笔者尝试了这种方式,发现其原理是读取doc文件后,再把相关元素加上html的标签,用本地webview加载,html标签与doc文件毕竟有很大差距,因此展示效果很差,只能选择tbs。

     然后是关于pdf的查看,这种方式略多,下面大致介绍下:

  1.   pdf.js  这是火狐推出的可以在安卓上使用,并且文件并不大,使用难度相对不大
  2. 安卓原生的pdfRender,笔者使用感觉还可以,因为使用安卓自带的pdfRender,不需要额外导入文件,加载速度也还好,如果只需要显示pdf,推荐
  3. github上开源的pdfviewer,功能较为强大,但是因为会导致包至少增大无法被接受,项目地址https://github.com/barteksc/AndroidPdfViewer
  4. 采用外部链接在线预览,但是目前基本是国外链接,会被墙,不考虑

     最后能够良好展示word文件的只有tbs,因此只能用它了。

二、tbs接入及踩坑

     首先说一下坑的问题,实际上在本地利用tbs打开文件腾讯的文档是没有写的,因为腾讯想让我们优先使用他们的QbSdk,这样会优先打开QQ浏览器,现在的本地打开的方法是各路大神从源码找出来的,可能有各种疏忽,所以坑多。(不过腾讯的文档也怪扯淡的)

     1.初始配置

           先上官方文档: 腾讯浏览器tbs接入文档

           下面进行大致梳理

             1. 导入依赖

                 在app的build.gradle文件中增加依赖

api 'com.tencent.tbs.tbssdk:sdk:43939'

           2.增加权限混淆,首次启动初始化冷启动优化(一定要加混淆,不然release版本不能用的

                这里不做详细介绍,直接看官方文档,照着来就可以了。另外官方文档的异常上报措施可忽略。官方文档还有一个替换webview的,这种是指如果你项目本来使用了webview,但是现在你想换成使用腾讯的x5内核,那么就需要按照腾讯的做法替换,如果不想替换,那可以不用变,因为接入腾讯x5内核后,安卓原生的webview仍然是可以用的。

            3、使用

            从这里开始文档就相当坑爹了,腾讯文档被没有讲如何初始化x5内核,甚至x5内核到底初始化成功了都没有介绍。

             首先介绍一下x5内核,x5内核就是QQ浏览器的内核,对安卓的webview做了一层封装,在你

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值