Android 从xml文件加载和使用对象的最有效方法

Android 从xml文件加载和使用对象的最有效方法,android,xml,ram,Android,Xml,Ram,我正在寻找最聪明(和最有效)的方法来实施以下项目: 我想开发一个可以访问大约100种不同运动的应用程序。这些练习在xml文件中提供。在不同的活动中,可以以不同的方式访问练习: 全部展示 仅显示特殊类别的练习 标记为收藏夹并显示收藏夹 显示练习的细节 分类 等等 加载xml文件并创建练习对象已经开始工作,这不是问题。但我认为最有效的方式来实现这样的事情。考虑RAM和性能 启动应用程序后解析xml文件,创建100个对象,并在应用程序运行期间对其进行处理(当然,如果垃圾收集器同时清理对象,请确保

我正在寻找最聪明(和最有效)的方法来实施以下项目:

我想开发一个可以访问大约100种不同运动的应用程序。这些练习在xml文件中提供。在不同的活动中,可以以不同的方式访问练习:

  • 全部展示
  • 仅显示特殊类别的练习
  • 标记为收藏夹并显示收藏夹
  • 显示练习的细节
  • 分类
  • 等等
加载xml文件并创建练习对象已经开始工作,这不是问题。但我认为最有效的方式来实现这样的事情。考虑RAM和性能

  • 启动应用程序后解析xml文件,创建100个对象,并在应用程序运行期间对其进行处理(当然,如果垃圾收集器同时清理对象,请确保重新加载数据)。这是可能的和推荐的吗?我可以在所有活动中拾取对象的中心点是什么样子的?我能在任何地方找到一个例子吗
  • 每次创建活动(以任何方式使用练习)时解析xml文件
  • 完全不同的方式

也许有人可以给我一个关键字。

这只是我的建议,如果可能的话,请您将XML更改为JSON格式,这样您就可以使用GSON转换器和库来解决性能问题

这只是我的建议,如果可能,请您将XML更改为JSON格式,这样您就可以使用GSON转换器和库来解决性能问题

我从您的问题中了解到,当应用程序每次启动并生成100个对象时,您希望解析XML,并将其用于所有其他活动

您可以扩展
应用程序
类,以便为多个活动访问同一对象

应用程序
是应用程序的基类,它是第一个调用的应用程序。因此,您可以在这里调用服务,也可以在这里调用对象的setter/getter。通过它,您可以在所有活动中访问它


此外,您还可以使用
SharedReference
SQLite
将数据存储在数据库中。

我从您的问题中了解到的是,您希望在应用程序每次启动时解析XML,并在该时间生成100个对象,您希望在所有其他活动中使用这些对象

您可以扩展
应用程序
类,以便为多个活动访问同一对象

应用程序
是应用程序的基类,它是第一个调用的应用程序。因此,您可以在这里调用服务,也可以在这里调用对象的setter/getter。通过它,您可以在所有活动中访问它



此外,您还可以使用
SharedReference
SQLite
将数据存储在数据库中。

我建议您考虑将XML存储到DB,并在应用程序中使用DB。在这之后,重新解析XML文件不会有问题,也不会对您想要的所有操作产生问题。我从外部资源获取该文件,它将不时更新。所以我认为在我的应用程序中使用此文件是一种简单的方法…更简单的方法是不时更新此信息。你是说,不时更新数据库?所以你建议不要使用xml文件?我是android中sqllite的新手,已经尝试获取有关它的信息。使用和交付现有文件似乎很容易(而且只有100个数据集)使用提供数据的数据库没有问题吗?-随时用新数据集更新它没有问题吗?您是否推荐一个关于sqllite和交付数据的好教程?我找到了很多关于sqllite的教程,但它们都只使用sqllite进行用户输入。。。非常感谢您,Raspberry为此,您可以仔细阅读我的建议,考虑将XML存储到DB,并在应用程序中使用DB。在这之后,重新解析XML文件不会有问题,也不会对您想要的所有操作产生问题。我从外部资源获取该文件,它将不时更新。所以我认为在我的应用程序中使用此文件是一种简单的方法…更简单的方法是不时更新此信息。你是说,不时更新数据库?所以你建议不要使用xml文件?我是android中sqllite的新手,已经尝试获取有关它的信息。使用和交付现有文件似乎很容易(而且只有100个数据集)使用提供数据的数据库没有问题吗?-随时用新数据集更新它没有问题吗?您是否推荐一个关于sqllite和交付数据的好教程?我找到了很多关于sqllite的教程,但它们都只使用sqllite进行用户输入。。。非常感谢你,Raspberry为了这个你可以看看这个我将收集一些关于JSON的信息,谢谢!我将收集一些关于JSON的信息,谢谢!谢谢你的回答!使用应用程序是一件有趣的事情,我对此一无所知。是的,我想在应用程序启动时解析XML,但我不确定了。对于我(一个android初学者)来说,不反复解析文件听起来不错。我对实现这样的需求的最佳方式感兴趣。请看我在回答中提出的问题。您将大致了解如何使用应用程序classI我阅读了大量关于XML、JSON和Sqlite的内容,并决定使用数据库。你关于申请的信息对我在其他地方很有用。首先,XML和JSON不是数据库。它们是客户端和服务器之间的数据交换格式。其次,SQLite和SharedReferences是Android的本地数据库。第三,
应用程序
类不是存储数据的方式,而是获取信息的方式。从服务器和de