我是靠谱客的博主 明理百合,最近开发中收集的这篇文章主要介绍android技术方案文档,Android App内文档展示方案整理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Word、Excel、PPT 展示

1. 微软Office公开Api接口

如果文档内容不是很机密或者只是需要实现预览文档的话,可以考虑使用微软的公共Api接口实现。

微软Office公开Api地址为:https://view.officeapps.live.com/op/view.aspx?

在Android上实现的方式如下:

首先拼接预览地址URL:

https://view.officeapps.live.com/op/view.aspx?src=http://xxx.pptx

然后使用WebView加载此URL。推荐配置如下:WebSettings settings = mWebView.getSettings();

settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

settings.setSaveFormData(true);

settings.setSavePassword(true);

settings.setUseWideViewPort(true);

settings.setLoadWithOverviewMode(true);

settings.setJavaScriptEnabled(true);

settings.setJavaScriptCanOpenWindowsAutomatically(true);

settings.setSupportZoom(true);/*

* 支持HTTPS、HTTP混合模式

* http://blog.csdn.net/qq_16472137/article/details/54346078

*/if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}// 优先渲染界面settings.setRenderPriority(WebSettings.RenderPriority.HIGH);// Technical settingssettings.setSupportMultipleWindows(true);

settings.setCacheMode(WebSettings.LOAD_DEFAULT);

settings.setAppCacheEnabled(true);

settings.setDatabaseEnabled(true);

settings.setDomStorageEnabled(true);

settings.setAppCacheMaxSize(8 * 1024 * 1024); // 缓存最多可以有8M/* 支持cookies 5.0以上的手机不支持自动同步第三方cookies

*(一般都是iframe里面的页面要存储cookies操作的设置)

* http://blog.sina.com.cn/s/blog_6e73239a0102viku.html

*/if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView, true);

}// WebView 默认都是支持cookiesCookieManager.getInstance().setAcceptCookie(true);

注意:此使用方式是将文档的URL拼接到连接上即可实现在线预览office文件,而不需要去下载文件。

但是有如下问题:若是使用微软的预览接口,你的文档url地址将会被暴露,缺失所谓文档的安全性。

若文件过大时候,加载的速度很慢,有时候还加载不出来。

2. 使用文档浏览Paas服务

服务代表为:腾讯TBS浏览服务(免费)、百度文档DOC服务(收费)。

腾讯TBS需要我们自行实现文件下载,然后调用的方TbsReadView法进行加载。

存在的问题:

a). 加载功能不稳定,有的机型加载正常,有的机型加载存在问题。最常见的问题就是 not supported by:xxx ,此问题非常影响用户体验。

b). 如果没有安装腾讯系的产品,TBS服务是无法使用了,因为腾讯系的产品都是基于X5内核的,TBS服务也是基于X5内核。

需要注意X5内核部分版本存在内存泄漏,需要在onDestory添加如下逻辑:@Overrideprotected void onDestroy() {     try {        if (webView != null) {

webView.stopLoading();

webView.removeAllViewsInLayout();

webView.removeAllViews();

CookieSyncManager.getInstance().stopSync();

webView.destroy();

webView = null;

}

} catch (Throwable throwable) {

throwable.printStackTrace();

} finally {         super.onDestroy();

}

}

二、PDF 展示

1. 使用腾讯TBS服务

此方案基本和office文件加载的方案一样,至于存在的问题也是一样的。这里就多赘述了。

可参考开源项目:https://github.com/ZhongXiaoHong/superFileView

2. AndroidPdfViewer

开源项目地址:https://github.com/barteksc/AndroidPdfViewer

开发参考文章:https://www.cnblogs.com/qixingchao/p/11658226.html

3. PdfViewPager

开源项目地址:https://github.com/voghDev/PdfViewPager

最后

以上就是明理百合为你收集整理的android技术方案文档,Android App内文档展示方案整理的全部内容,希望文章能够帮你解决android技术方案文档,Android App内文档展示方案整理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部