首页 > 解决方案 > 在android中显示office文档

问题描述

我正在使用 Firebase Firestore 开发一个 android 博客应用程序。我想在应用程序中显示 Microsoft Office Word 文档(因为我想添加多个样式文本)。

当用户点击应用程序中的一篇文章时,一个活动将显示指定的数据。我的意思是会有不同的文本,所以每篇文章都会有不同的内容。我想要的是在文章内容中显示样式文本,如 Microsoft Word 中可用的文本(项目符号和编号、粗体、斜体......这些东西)。

我想将 word.docx 文档上传到 Firebase 的存储中,并将其链接添加到 Firestore 的内容字段中。但我确信它不会起作用。

有谁知道我该怎么办?

标签: javaandroidgoogle-cloud-firestore

解决方案


我有类似的东西,唯一的区别是我显示了 pdf,但我确信它也可以为 doc 完成,你需要 webView 才能使它工作,我为你提供了通过 google docs 在 webview 中打开文件的方法,看一看:

private void setUpWebView() {
        setWebviewSettings();
        mwebView.clearHistory();
        mwebView.clearFormData();
        mwebView.clearCache(false);
        mwebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        mwebView.setScrollbarFadingEnabled(true);
        mwebView.getSettings().setSupportZoom(true);
        mwebView.setWebChromeClient(new CustomWebChromeClient(this));
        mwebView.setWebViewClient(new WebViewClient());
        mwebView.getSettings().setJavaScriptEnabled(true);
        mwebView.getSettings().setPluginState(WebSettings.PluginState.ON);
        String url = AppConstants.FULL_TANDC_URL;
        if (NetworkUtil.isNetworkAvailable(this)) {
            if (url != null && !TextUtils.isEmpty(url) && URLUtil.isValidUrl(url)) {
                textNoData.setVisibility(View.GONE);
                if (url.contains(".pdf")) {
                    mwebView.loadUrl("http://docs.google.com/gview?embedded=true&url=" + url);
                    mprogressBar.setVisibility(View.GONE);
                } else {
                    mwebView.loadUrl(url);
                    mprogressBar.setVisibility(View.VISIBLE);
                }
            } else {
                textNoData.setVisibility(View.VISIBLE);
                mprogressBar.setVisibility(View.GONE);
            }
        } else {
            mprogressBar.setVisibility(View.GONE);
            textNoData.setVisibility(View.VISIBLE);
        }

    }

我希望这能帮到您。

快乐编码:)


推荐阅读