Android 通過騰訊TBS實現(xiàn)文件預(yù)覽功能
1.集成騰訊TBS
使用騰訊TBS來預(yù)覽pdf,word,excel,ppt等多種類型的文件,去 騰訊瀏覽服務(wù)官網(wǎng)下載SDK,按照官方文檔文檔集成SDK。
2.使用TbsReaderView來加載文件
動態(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) {
//增加下面一句解決沒有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();
//銷毀界面的時候一定要加上,否則后面加載文件會發(fā)生異常。
tbsReaderView.onStop();
}
3.其他說明
1、加載文件核心類是 TbsReaderView,騰訊文檔沒有寫,TbsReaderView建議通過動態(tài)創(chuàng)建,不要使用xml中引用;
2、TBS目前只支持加載本地文件。所以遠(yuǎn)程文件需要先下載,后用TBS加載文件顯示;
3、加載文件的界面,離開本界面之后務(wù)必銷毀TbsReaderView,否則再次加載文件無法加載成功,會一直顯示加載文件進(jìn)度條;代碼如下:tbsReaderView.onStop();
4.騰訊TBS可以代替原生WebView,效率更高,功能更強大。
總結(jié)
到此這篇關(guān)于Android 通過騰訊TBS實現(xiàn)文件預(yù)覽功能的文章就介紹到這了,更多相關(guān)android 騰訊TBS文件預(yù)覽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android實現(xiàn)網(wǎng)絡(luò)圖片瀏覽功能
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)網(wǎng)絡(luò)圖片瀏覽功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Flutter網(wǎng)絡(luò)請求Dio庫的使用及封裝詳解
本文主要介紹了Flutter網(wǎng)絡(luò)請求Dio庫的使用及封裝詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Android EditText實現(xiàn)扁平化的登錄界面
這篇文章主要為大家詳細(xì)介紹了Android EditText實現(xiàn)扁平化的登錄界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Flutter 自定義Drawer 滑出位置的大小實例代碼詳解
這篇文章主要介紹了Flutter 自定義Drawer 滑出位置的大小,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

