【问题标题】:Reading and displaying large formatted text documents in Android在 Android 中读取和显示大格式文本文档
【发布时间】:2016-05-16 09:27:12
【问题描述】:

我正在开发一个 Android 应用程序,它应该显示大型文本文件(例如书籍),供用户浏览、阅读和搜索。

我的问题如下: 我应该如何阅读和呈现当前为 PDF 或 Word 格式且已格式化的文本文件?

文本应该在什么文件中(.doc、.txt、.xml、.html)?

我应该使用哪些控件/元素和代码在应用程序上阅读它,以便它可以有效地呈现并正确格式化(TextView、WebView、PDF 阅读器或其他方式)?

谢谢。

【问题讨论】:

    标签: java c# android text xamarin


    【解决方案1】:

    这真的取决于你的应用程序和编程技能,

    1. 从 PDF、word 文件等中抓取文本可以使用 图书馆(有很多可用)
    2. 您可以将文件保存为原始文本文件(它们可以读取 手动)如果你想保护它,你可以先加密它 保存,您可以使用自定义扩展名(.lib、.abc 等)保存。
    3. TextViews 是最简单的,因为您可以更改颜色, 字体和文本大小,处理起来非常快速且容易。

    编辑:读取文本文件的示例

            File myFile = new File("/sdcard/filename.txt");
            FileInputStream iStr = new FileInputStream(myFile);
            BufferedReader fileReader = new BufferedReader(new InputStreamReader(iStr ));
            String TextLine= "";
            String TextBuffer = "";
            while ((TextLine= fileReader.readLine()) != null) {
                TextBuffer += TextLine+ "\n";
            }
            textView1.setText(TextBuffer );
            fileReader.close();
    

    编写文本文件的示例:

            File myFile = new File("/sdcard/filename.txt");
            myFile.createNewFile();
            FileOutputStream oStr = new FileOutputStream(myFile);
            OutputStreamWriter fileWriter= new OutputStreamWriter(oStr);
            fileWriter.append(textView1.getText());
            fileWriter.close();
            fOut.close();
    

    【讨论】:

    • 谢谢。你知道哪种方式最被接受和广泛使用,我如何从代码中读取它?
    • 这些库适用于桌面应用程序,但它可能适用于 Xamarin(值得一试)read text libraries
    • 我无法让 iTextSharp 在 Xamarin 上工作。还有其他建议吗?在这些情况下,Android 一般接受什么?我应该解析文本文件,将其转换为 xml、html 还是其他格式?
    • 我认为您必须为不同的文件扩展名使用许多库,您要解析哪些类型的文件?
    • 谢谢,但我认为这不是我想要的。这些文件的格式不仅仅是新行 - 数字、字母、标题、副标题等。
    猜你喜欢
    • 2014-09-22
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2012-04-06
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多