登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

查看: 247|回复: 0

Android开发,应用内打开Office(Word,PPT,PDF,Excel

[复制链接]

13

主题

88

帖子

1102

安币

Android大神

Rank: 6Rank: 6

发表于 2019-1-28 10:05:02 | 显示全部楼层 |阅读模式
如果对本篇文章感兴趣,请前往,原文地址:http://www.apkbus.com/blog-633248-79452.html

众所周知利用Android系统的Webview是无法直接加载Office文件的,但是IOS可以,也是无奈呀! 不过还好鹅厂给我们提供了X5浏览器,一般来说Android客户端想要加载文件,一般可有三种方案:    * 由后台开发人员把Office文件转换成Html文件* 调用手机的第三方浏览器打开* 利用X5浏览器在应用内打开来自于:https://github.com/sky8650/TbsForOffice本文主要是以X5浏览器为基础在应用内加载Office文件,亲测可用## 文件下载(OKhttp)``` private  void   downLoadFile(){        Observable.create(new ObservableOnSubscribe() {          @Override            public void subscribe(final ObservableEmitter e) throws Exception {              final FileVo  fileVo=new FileVo();               String path= FileUtil.getCachePath(TbsReaderActivity.this);                downloadUtil.download(officeUrl, path,                        officeSaveName,                        new DownloadUtil.OnDownloadListener() {                            @Override                            public void onDownloadSuccess(File file) {                                fileVo.setFile(file);                                e.onNext(fileVo);                                e.onComplete();                            }                            @Override                            public void onDownloading(int progress) {                                showProgress(progress);                            }                            @Override                            public void onDownloadFailed(Exception e) {                            }                        });            }        }).compose(RxUtils.schedulersTransformer()).subscribe(new Consumer() {            @Override            public void accept(FileVo fileVo) {                 showOffice(fileVo);            }        });    }```### 文件加载``` private   void   showOffice(FileVo fileVo){         progressBar.setProgress(fileVo.getProgress());         file=fileVo.getFile();         String bsReaderTemp = tbsReaderTemp;         File bsReaderTempFile =new File(bsReaderTemp);         if (!bsReaderTempFile.exists()) {             boolean mkdir = bsReaderTempFile.mkdir();             if(!mkdir){                 Log.d("print","创建/TbsReaderTemp失败!!!!!");             }         }         //加载文件         Bundle localBundle = new Bundle();         localBundle.putString("filePath", file.toString());         localBundle.putString("tempPath",                 tbsReaderTemp);         if (tbsReaderView == null){             tbsReaderView = getTbsView();         }         boolean result = tbsReaderView.preOpen(FileUtil.getFileType(file.toString()), false);         if (result) {             tbsReaderView.openFile(localBundle);         }     }```地址:https://github.com/sky8650/TbsForOffice  继续阅读全文



想在安卓巴士找到更多优质博文,可移步博客区

如果对本篇文章感兴趣,请前往,
原文地址:
http://www.apkbus.com/blog-633248-79452.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表