Android 通过腾讯TBS实现文件预览功能
1.集成腾讯TBS
使用腾讯TBS来预览pdf,word,excel,ppt等多种类型的文件,去腾讯浏览服务官网下载SDK,按照官方文档文档集成SDK。
2.使用TbsReaderView来加载文件
动态创建TbsReaderView,然后添加到布局中。
//回调
TbsReaderView.ReaderCallbackreaderCallback=newTbsReaderView.ReaderCallback(){
@Override
publicvoidonCallBackAction(Integerinteger,Objecto,Objecto1){
}};
tbsReaderView=newTbsReaderView(this,readerCallback);
RelativeLayout.LayoutParamsparams=newRelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.BELOW,R.id.title_layout);
//把tbsReaderView添加在标题控件下面
layout.addView(tbsReaderView,1,params);
//文件地址
StringfilePath=getIntent().getStringExtra("filePath");
//文件名
StringfileName=getIntent().getStringExtra("fileName");
//加载文件
displayFile(filePath,fileName);
//加载文件
privatevoiddisplayFile(StringfilePath,StringfileName){
//增加下面一句解决没有TbsReaderTemp文件夹存在导致加载文件失败
StringbsReaderTemp=tbsReaderTemp;
FilebsReaderTempFile=newFile(bsReaderTemp);
if(!bsReaderTempFile.exists()){
Log.d("print","准备创建/TbsReaderTemp!!");
booleanmkdir=bsReaderTempFile.mkdir();
if(!mkdir){
Log.d("print","创建/TbsReaderTemp失败!!!!!");
}
}
Bundlebundle=newBundle();
bundle.putString("filePath",filePath);
bundle.putString("tempPath",tbsReaderTemp);
booleanresult=tbsReaderView.preOpen(getFileType(fileName),false);
Log.d("print","查看文档---"+result);
if(result){
tbsReaderView.openFile(bundle);
}
}
@Override
protectedvoidonDestroy(){
super.onDestroy();
//销毁界面的时候一定要加上,否则后面加载文件会发生异常。
tbsReaderView.onStop();
}
3.其他说明
1、加载文件核心类是TbsReaderView,腾讯文档没有写,TbsReaderView建议通过动态创建,不要使用xml中引用;
2、TBS目前只支持加载本地文件。所以远程文件需要先下载,后用TBS加载文件显示;
3、加载文件的界面,离开本界面之后务必销毁TbsReaderView,否则再次加载文件无法加载成功,会一直显示加载文件进度条;代码如下:tbsReaderView.onStop();
4.腾讯TBS可以代替原生WebView,效率更高,功能更强大。
总结
到此这篇关于Android通过腾讯TBS实现文件预览功能的文章就介绍到这了,更多相关android腾讯TBS文件预览内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!