【问题标题】:Show office document in android在android中显示office文档
【发布时间】:2018-11-27 05:43:11
【问题描述】:

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

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

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

有人知道我该怎么办吗?

【问题讨论】:

  • 如果您想在自己的文本视图中显示docx-文件,您可能必须正确解析它。我建议改为查看 RTF,这可能更容易使用。或者尝试使用足以满足您建议的功能的 HTML 文本。
  • HTML可以加载到TextView中吗?顺便说一句,我该如何使用它?
  • 那里有支持 HTML 的 TextViews 的解决方案,RTF 也是如此(例如寻找 RichTextView)。通过谷歌搜索,您肯定会找到适合您口味的东西:)

标签: java android google-cloud-firestore


【解决方案1】:

我有类似的东西,唯一的区别是我展示了 pdf,但我确信它也可以用于 doc,你需要 webView 才能使其工作,我为你提供了在 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);
        }

    }

希望对你有所帮助。

编码愉快:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    相关资源
    最近更新 更多