繁体   English   中英

android:如何加载大量数据(xml文件)并将其保留在整个应用程序中

[英]android: How to load lot of data (xml file) and keep it throughout the application

我设计的应用程序,它需要解析大型XML(包括大量文字),并保持整个应用程序访问的序列化的数据。 我打算有一个数据对象,该对象将保留数据,某些类可以访问该数据。 我总是只需要显示部分文字。

是我的问题很相似,这个问题也许是同样的问题,但我不希望使用此解决方案,如果是有可能。

我想知道如何加载数据,其中加载它,以及如何保持它在整个应用程序进行访问。 这是不可能的,每次加载它在onCreate()当屏幕方向改变的方法,例如。

对我而言,最好的方法是,如果可以将xml文件加载(解析)到一个对象中,并且该对象在整个应用程序中始终可访问,但是我不知道在哪里,如何加载它以及如何使其在整个应用程序中可访问。 。 这个对象拥有一切我需要什么。

一些可能的解决方案:

  • 辛格尔顿(这将数据加载到一个对象)使用这个或其他什么东西?
  • 使用像一个SQLite的解决方案 (同上链接)(我不想用这个)
  • 使用懒加载(加载文本的一部分,这是我actualy需要)(我不想用这个为好)

可能有人说,这将是最好的解决办法? 并描述该怎么做?

(对不起我的英语不好)

  • 编辑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的文件或网络)。

关于您的应用程序的主要问题是,但是,允许Android随意启动和停止您的应用程序。 这意味着,您的单例将需要经常重新创建,例如,您需要非常频繁地解析数据(重新启动不会保留单例!)。

在不了解您的XML的情况下,很难推荐一种特定的方法。 如果适用,请对数据库进行初始解析 ,以便您可以轻松地从数据库接收单个值,而无需进行其他解析。

扩展Application是一种解决方案。 您可以使用示例。

我决定使用SQLite数据库。 我阅读了很多有关Singleton的讨论,有些是负面的(难以测试,有些同步麻烦)。 因此,为避免这些问题,我将实现将xml文件解析为DB。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM