Android 通過(guò)騰訊TBS實(shí)現(xiàn)文件預(yù)覽功能
1.集成騰訊TBS
使用騰訊TBS來(lái)預(yù)覽pdf,word,excel,ppt等多種類型的文件,去 騰訊瀏覽服務(wù)官網(wǎng)下載SDK,按照官方文檔文檔集成SDK。
2.使用TbsReaderView來(lái)加載文件
動(dòng)態(tài)創(chuàng)建TbsReaderView,然后添加到布局中。
// 回調(diào)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添加在標(biāo)題控件下面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) { //增加下面一句解決沒(méi)有TbsReaderTemp文件夾存在導(dǎo)致加載文件失敗 String bsReaderTemp = tbsReaderTemp; File bsReaderTempFile =new File(bsReaderTemp); if (!bsReaderTempFile.exists()) { Log.d('print','準(zhǔn)備創(chuàng)建/TbsReaderTemp??!'); boolean mkdir = bsReaderTempFile.mkdir(); if(!mkdir){ Log.d('print','創(chuàng)建/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(); //銷毀界面的時(shí)候一定要加上,否則后面加載文件會(huì)發(fā)生異常。 tbsReaderView.onStop(); }
3.其他說(shuō)明
1、加載文件核心類是 TbsReaderView,騰訊文檔沒(méi)有寫(xiě),TbsReaderView建議通過(guò)動(dòng)態(tài)創(chuàng)建,不要使用xml中引用;
2、TBS目前只支持加載本地文件。所以遠(yuǎn)程文件需要先下載,后用TBS加載文件顯示;
3、加載文件的界面,離開(kāi)本界面之后務(wù)必銷毀TbsReaderView,否則再次加載文件無(wú)法加載成功,會(huì)一直顯示加載文件進(jìn)度條;代碼如下:tbsReaderView.onStop();
4.騰訊TBS可以代替原生WebView,效率更高,功能更強(qiáng)大。
總結(jié)
到此這篇關(guān)于Android 通過(guò)騰訊TBS實(shí)現(xiàn)文件預(yù)覽功能的文章就介紹到這了,更多相關(guān)android 騰訊TBS文件預(yù)覽內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python實(shí)現(xiàn)迪杰斯特拉算法過(guò)程解析2. Python 如何將integer轉(zhuǎn)化為羅馬數(shù)(3999以內(nèi))3. 詳解Python模塊化編程與裝飾器4. Python下使用Trackbar實(shí)現(xiàn)繪圖板5. html小技巧之td,div標(biāo)簽里內(nèi)容不換行6. Python通過(guò)format函數(shù)格式化顯示值7. python web框架的總結(jié)8. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式9. python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)10. Python性能測(cè)試工具Locust安裝及使用
