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文件預覽內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
