Android:用于保存应用数据的数据结构

时间:2016-06-14 19:06:34

标签: java android data-structures

所以我有一个简单的Android应用程序是这样的:它有一个汽车制造商的列表,如本田,福特,马自达等。 然后当选择其中一个制造商时,我需要展示他们的车型。因此,如果用户选择本田,我会显示" Civic,CRV,Odyssey"等等 当用户选择特定型号时,我会显示另一个包含更多信息的列表。 那么什么样的数据结构将简单易用在我的Android应用程序中实现。我在考虑使用嵌套的ArrayLists。 另外,您能否提供一个示例链接,了解如何使用android studio在内部保存数据,并在需要时获取数据。

注意:该列表是动态的,这意味着用户可以选择添加或删除任何列表中的任何项目。

谢谢:)

2 个答案:

答案 0 :(得分:3)

这几乎就是数据库的用途(当然我在这里谈论 SQLite )。我假设您将拥有以某种方式互连的大量数据。

我不知道您对数据库设计的了解程度如何,但您应该有一个名为制造商的表格,该表格将保存有关这些数据的数据(想想要保存哪些数据,从而创建合适的列(表)和一个名为 CarModel 的表,它将有一个外键,将其连接到制造商(称为manufacturer_id)。这两个表需要多对一关系 - >每个制造商都可以拥有许多模型,但每个模型只能由一个制造商生产。

这只是一个基本的想法,您仍然可以根据自己的喜好进行改进,但这应该涵盖您非常容易所要求的所有内容。例如,要获得制造商列表,您只需Select * from Manufacturer。当您单击某个特定制造商并希望显示它的模型时,您只需编写一个非常简单的查询Select * from CarModel where manufacturer_id = id(id是您传递给某个函数的参数,id您想要模型的制造商。您选择的模型可以包含任意数量的数据,例如有关该模型的其他信息。

如果您对原始查询不满意,那么有用的query builder可以让您的生活变得更轻松。

答案 1 :(得分:1)

我认为在Android中实现数据的最多方法是基于SQLite。如果您没有足够的使用经验,我强烈建议您调查以下内容提供商的教程:

你是对的,因为这种方法需要使用简单的字符串指定整个数据库方案,所以非常耗时(即使对于有经验的开发人员)。但是您可以使用一些ORM解决方案,例如ORMLite,但它仍然需要调查任务。

另外我会推荐Realm,实现起来要简单得多,但在我看来,你应该考虑很多功能(比如多线程工作)

希望,它会帮助。