【发布时间】:2023-03-22 10:23:01
【问题描述】:
我正在设计一个应用程序,该应用程序涉及解析大型 XML(其中包括大量文本)并保持序列化数据在整个应用程序中可访问。我打算有一个数据对象来保存数据,并且一些类可以访问数据。我总是只需要显示部分文本。
是的,我的问题与question 非常相似,也许是同一个问题,但我不想使用这个解决方案,如果可能的话。
我想知道如何加载数据、加载数据的位置以及如何在整个应用程序中保持可访问性。在onCreate() 方法中不可能每次都加载它,例如当屏幕方向改变时。
对我来说最好的方法是,如果我可以将 xml 文件加载(解析)到一个对象中,并且该对象在整个应用程序中都可以访问,但我不知道在哪里、如何加载以及如何保持它可以访问在整个应用程序中。这个对象有我需要的一切。
一些可能的解决方案:
- 单例(这会将数据加载到一个对象中)使用this 或其他方式?
- 使用像 there 这样的 SQLite 解决方案(与上面相同的链接)(我不想使用这个)
- 使用延迟加载(加载我实际需要的部分文本)(我也不想使用它)
有人能说什么是最好的解决方案吗?并描述如何做?
(对不起我的英语)
-
编辑 1: xml 结构:
< root > < some elements > < /some elements > < element with lot of text > text..... < /element with lot of text > < element with lot of text > text..... < /element with lot of text > . . . < element with lot of text > text..... < /element with lot of text > < /root >
如果有帮助的话。一个元素中的文本通常包含 5000 - 15000 个字符。
【问题讨论】:
-
这个 XML 可能有多大?
-
可以小到 100 -200kB 但也可以是 2-6 MB 甚至更多..
-
你有没有想过将它保存在 Application 对象中?
-
您认为从应用程序扩展并加载它吗?是的,我做到了,但我不知道是否可以。
-
是的,我就是这么想的。我不时使用这种方法。
标签: android xml loading bigdata storing-data