【问题标题】:How to convert large amounts of static text to array in Android如何在Android中将大量静态文本转换为数组
【发布时间】:2023-04-04 21:49:01
【问题描述】:

什么是存储大量文本的最有效方法,然后在需要时将它们转换为数组,每个段落占用一个索引,以便能够将数组附加到适配器依次将附加到 Recycler-view。

更复杂的是,我想在显示时对每个段落应用不同的格式。那么我如何将格式说明附加到它的段落中呢?通过多维数组,还是键值对数组?

我考虑过一个 SQLite 数据库,但它似乎有点过头了,尤其是所有文本都是静态的并且不会改变(它几乎就像一个图书应用程序)。

我正在考虑使用包含所有文本的常规文本文件,并且每个段落都应该有一个附加的格式说明行,并使用 RegEx 将其拆分为数组。但我担心效率,尤其是每次用户打开应用时都会这样做。

或者只是一个 .xml 文件?但是我将如何动态填充数组(尤其是每个段落都需要有自己的格式)?

或者我应该使用手动填充的数组创建一个现成的类,这样它就不必动态发生?

不是任何帖子的副本,因为这些帖子中的大多数都是关于存储大量文本的,所以这更复杂。这是关于如何存储和检索复杂的日期,而不仅仅是一大串文本。特别是每个段落都需要有一个关联的格式标记,以便在 onBindView 中根据格式标记的内容采取特定的操作。

【问题讨论】:

  • 一个 xml 文件可以解决问题 :) developer.android.com/training/basics/network-ops/xml.html
  • 我不打算作为答案发布,但是具有不同字符串名称的 XML 文件是最好的方法。我同意progressive_overload
  • 但它仍然给我留下了同样的问题。我编辑了我的问题以反映这一点。
  • 什么是“大量”,我们说的是几百兆吗?
  • 如果这些是“大量文本”,也许你不应该一次加载它们。 “那么我如何将格式说明附加到其段落中?” -- 使用在Html.fromHtml() 范围内工作的 HTML。

标签: java android arrays android-recyclerview large-files


【解决方案1】:

一种可能的解决方案是将大量文本存储在一个字符串中,toByte 它,当调用时,您可以执行字节读取以根据分隔符(例如行空间字符)的条件将字节存储到数组中.执行此操作并每次增加数组索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多