您好,登录后才能下订单哦!
小编这次要给大家分享的是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,如何实现文件预览功能的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。