Android 通过腾讯TBS实现文件预览功能

 更新时间:2020年06月10日 10:14:44   作者:qq_36658567  
这篇文章主要介绍了Android 通过腾讯TBS实现文件预览功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.集成腾讯TBS

使用腾讯TBS来预览pdf,word,excel,ppt等多种类型的文件,去 腾讯浏览服务官网下载SDK,按照官方文档文档集成SDK。

2.使用TbsReaderView来加载文件

动态创建TbsReaderView,然后添加到布局中。

// 回调
TbsReaderView.ReaderCallback readerCallback = new TbsReaderView.ReaderCallback() {
  @Override
  public void onCallBackAction(Integer integer, Object o, Object o1) {

  } };
tbsReaderView = new TbsReaderView(this, readerCallback);
RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.BELOW,R.id.title_layout);
//把tbsReaderView添加在标题控件下面
layout.addView(tbsReaderView,1,params);
//文件地址
String filePath=getIntent().getStringExtra("filePath"); 
//文件名
String fileName=getIntent().getStringExtra("fileName");
//加载文件
displayFile(filePath,fileName);
//加载文件
private void displayFile(String filePath, String fileName) {
 //增加下面一句解决没有TbsReaderTemp文件夹存在导致加载文件失败
 String bsReaderTemp = tbsReaderTemp;
 File bsReaderTempFile =new File(bsReaderTemp);
 if (!bsReaderTempFile.exists()) {
  Log.d("print","准备创建/TbsReaderTemp!!");
  boolean mkdir = bsReaderTempFile.mkdir();
  if(!mkdir){
  Log.d("print","创建/TbsReaderTemp失败!!!!!");
  }
 }
 Bundle bundle = new Bundle();
 bundle.putString("filePath", filePath);
 bundle.putString("tempPath", tbsReaderTemp);
 boolean result = tbsReaderView.preOpen(getFileType(fileName), false);
 Log.d("print","查看文档---"+result);
 if (result) {
  tbsReaderView.openFile(bundle);
 }
 }
@Override
 protected void onDestroy() {
 super.onDestroy();
 //销毁界面的时候一定要加上,否则后面加载文件会发生异常。
 tbsReaderView.onStop();
 }

3.其他说明

1、加载文件核心类是 TbsReaderView,腾讯文档没有写,TbsReaderView建议通过动态创建,不要使用xml中引用;

2、TBS目前只支持加载本地文件。所以远程文件需要先下载,后用TBS加载文件显示;

3、加载文件的界面,离开本界面之后务必销毁TbsReaderView,否则再次加载文件无法加载成功,会一直显示加载文件进度条;代码如下:tbsReaderView.onStop();

4.腾讯TBS可以代替原生WebView,效率更高,功能更强大。

总结

到此这篇关于Android 通过腾讯TBS实现文件预览功能的文章就介绍到这了,更多相关android 腾讯TBS文件预览内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android实现网络图片浏览功能

    Android实现网络图片浏览功能

    这篇文章主要为大家详细介绍了Android实现网络图片浏览功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Flutter网络请求Dio库的使用及封装详解

    Flutter网络请求Dio库的使用及封装详解

    本文主要介绍了Flutter网络请求Dio库的使用及封装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Android EditText实现扁平化的登录界面

    Android EditText实现扁平化的登录界面

    这篇文章主要为大家详细介绍了Android EditText实现扁平化的登录界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Flutter 自定义Drawer 滑出位置的大小实例代码详解

    Flutter 自定义Drawer 滑出位置的大小实例代码详解

    这篇文章主要介绍了Flutter 自定义Drawer 滑出位置的大小,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • android实现widget时钟示例分享

    android实现widget时钟示例分享

    这篇文章主要介绍了android实现widget时钟示例,需要的朋友可以参考下
    2014-03-03
  • Android评论功能的实现过程

    Android评论功能的实现过程

    这篇文章为大家详细介绍了Android评论功能的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 详解Android如何实现自定义的动画曲线

    详解Android如何实现自定义的动画曲线

    最近在写动画相关的篇章,经常会用到 Curve 这个动画曲线类,那这个类到底怎么实现的?如果想自己来一个自定义的动画曲线该怎么弄?本文将为大家详细解答
    2022-04-04
  • Android数据持久化之I/O操作详解

    Android数据持久化之I/O操作详解

    这篇文章主要介绍了Android数据持久化之I/O操作,结合实例形式较为详细的分析了Android I/O操作的相关原理与具体的持久化实现技巧,需要的朋友可以参考下
    2017-05-05
  • PopupWindow仿微信浮层弹出框效果

    PopupWindow仿微信浮层弹出框效果

    这篇文章主要为大家详细介绍了PopupWindow仿微信浮层弹出框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • android开机自动启动app的解决方法

    android开机自动启动app的解决方法

    这篇文章主要为大家详细介绍了android开机自动启动app的解决方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论