今天带大家介绍,第二种在App内打开office文件。腾讯公司的TBS依托 X5 内核强大的能力。例如QQ的打开文件的方式。就是TBS。官网地址TBS官网。遗憾的是官网没用提供我们Dome。所以现在就开始试着写一个吧。
1,添加 SDK 依赖。下载 TBS 提供的 jar 包和 so 文件,添加到工程中对应的 libs 和 jniLibs 目录下
如图所示
下载地址:sdk下载。
![](https://img.haomeiwen.com/i14605332/9e28c3beac35656a.png)
然后在 app/build.gradle 文件中对 libs 目录中 jar 文件的依赖可以是这样:
![](https://img.haomeiwen.com/i14605332/fc3c1eb98c0a0146.png)
配置完成最好刷新一下Gradle。
2,配置完成,看项目结构。
![](https://img.haomeiwen.com/i14605332/98800a0ecd1bad1f.png)
MainActivity的简单布局
![](https://img.haomeiwen.com/i14605332/52343670442b959d.png)
两个button是重叠在一起的,
下面看MainActivity代码
![](https://img.haomeiwen.com/i14605332/468af249d6cff5fa.png)
![](https://img.haomeiwen.com/i14605332/21ecdb629ade8e39.png)
定义的两个方法。
loadToolBar():处理显示文件名称
![](https://img.haomeiwen.com/i14605332/8e510c2afe2be71c.png)
loadBtn():处理button的显示下载→打开
![](https://img.haomeiwen.com/i14605332/e3700c46a77df39e.png)
parseName()方法 截取文件名
![](https://img.haomeiwen.com/i14605332/d7fe4af21585719e.png)
startDownload()方法
![](https://img.haomeiwen.com/i14605332/2e279c55c6e6bd38.png)
queryDownloadStatus()方法
![](https://img.haomeiwen.com/i14605332/60282e6c5e58e5ba.png)
getLocalFile()方法
![](https://img.haomeiwen.com/i14605332/085a4cd54f6611e1.png)
3,进入second页面,除了传递过来的信息
![](https://img.haomeiwen.com/i14605332/0e3a377c7a4d422d.png)
ReaderCallback 接口提供的方法可以不予处理(目前不知道有什么用途,但是一定要实现这个接口类):
![](https://img.haomeiwen.com/i14605332/40ad61ea34009151.png)
secondActivity.java:
![](https://img.haomeiwen.com/i14605332/a4847687aa067a33.png)
loadToolBar():依旧是改变一些toolBar的设置:
![](https://img.haomeiwen.com/i14605332/6e8696a2339ed802.png)
displayofficFile()方法
![](https://img.haomeiwen.com/i14605332/a37d1b8e936e3762.png)
4,重写onDestroy()方法。
![](https://img.haomeiwen.com/i14605332/c04291c6c521b250.png)
5,最后在manifest加上这些权限
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
6,效果图
![](https://img.haomeiwen.com/i14605332/f74a63e2ef30e772.png)
网友评论