Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 保存数据以备日后使用的最佳方法?_Android_Xml_Data Storage - Fatal编程技术网

Android 保存数据以备日后使用的最佳方法?

Android 保存数据以备日后使用的最佳方法?,android,xml,data-storage,Android,Xml,Data Storage,将多个(大约80个)字段保存为单个实体的最佳方式是什么?我的应用程序创建了一个“program”对象,它本身在一个数组中包含大约75个字符串、大约4个其他随机字符串和一个int字段。我希望能够保存这些,以便用户能够在ListView中查看每个程序的基本信息,然后单击其中一个以查看其余数据 保存这些数据的最佳方法是什么?我一直在考虑将它们分别保存为各自独立的XML文件,但我也听说过数据库(尽管似乎有点像我要做的)。或者我应该把它们保存为普通的.txt文件,以后再解析它们吗?或者甚至只是将每个程序保

将多个(大约80个)字段保存为单个实体的最佳方式是什么?我的应用程序创建了一个“program”对象,它本身在一个数组中包含大约75个字符串、大约4个其他随机字符串和一个int字段。我希望能够保存这些,以便用户能够在ListView中查看每个程序的基本信息,然后单击其中一个以查看其余数据


保存这些数据的最佳方法是什么?我一直在考虑将它们分别保存为各自独立的XML文件,但我也听说过数据库(尽管似乎有点像我要做的)。或者我应该把它们保存为普通的.txt文件,以后再解析它们吗?或者甚至只是将每个程序保存到一个txt/xml文件中,然后一起解析它们?还是我缺少了更有效的东西

只要您没有创建大量的对象,我认为序列化对象并以这种方式存储就足够了。
如果您发现自己创建了许多这样的对象,我建议您研究一个数据库实现来处理它们。

只要您没有创建大量的对象,我认为序列化对象并以这种方式存储就足够了。 如果您发现自己创建了许多这样的对象,我建议您研究一个数据库实现来处理它们。

这取决于:

如果您想要快速的东西,请使用SQLite数据库

如果您想要一些易于实现(但速度较慢)的功能,请使用。

这取决于:

如果您想要快速的东西,请使用SQLite数据库


如果您想要一些易于实现(但速度较慢)的东西,请使用。

在您的情况下,将数据存储到XML文件是最好的方法。SQLite数据库可以用于更强大的工作。

在您的情况下,将数据存储到XML文件是最好的方法。SQLite数据库可以用于更强大的工作。

如果您不想担心游标或数据库管理,只需使用SharedReferences即可。我习惯于使用来序列化/反序列化我的对象,这很容易设置,而且效果很好。

如果您不想担心游标或数据库管理,只需使用SharedReferences即可。我习惯于使用序列化/反序列化我的对象,这很容易设置,并且工作得很好。

您也可以看看这个类。它可以将实现可序列化接口的对象
打印到文件或其他流中


因此,您可以做一些事情,比如创建一个包含这些字符串和int的ArrayList,然后将ArrayList写入一个文件。

您也可以查看该类。它可以将实现可序列化接口的对象
打印到文件或其他流中


这样你就可以做一些类似于字符串和int的数组列表,并将ARAYLIST写入文件。< /P>是的,这是一个非常简单的方法,将java数据结构放入持久存储,而不必用XML或SQL来处理。你认为什么是“实质性的”?用户可以根据自己的需要创建任意数量的对象,因此很遗憾,我无法判断。在这种情况下,序列化并不是一个合适的选择,因为潜在对象的数量是不可预测的。我想说,当涉及到大约(但不要把这个数字视为任何类型的事实,它实际上取决于数据的类型,如果对象的数量有限)1-10时,序列化是合适的。任何超过10的东西我都认为是巨大的。事实上,您所拥有的对象包含相同的类型和字段数,使得使用SQLite数据库或XML编写器/帕累托更为可行。是的,这是一种非常简单的方法,将java数据结构放入持久存储中,而不必用XML或SQL来处理。您认为“实质性”是什么?用户可以根据自己的需要创建任意数量的对象,因此很遗憾,我无法判断。在这种情况下,序列化并不是一个合适的选择,因为潜在对象的数量是不可预测的。我想说,当涉及到大约(但不要把这个数字视为任何类型的事实,它实际上取决于数据的类型,如果对象的数量有限)1-10时,序列化是合适的。任何超过10的东西我都认为是巨大的。事实上,您拥有的对象包含相同类型和数量的字段,这使得使用SQLite数据库或XML编写器/解析器更加可行。按照我的数据结构,XML文件确实是最好的方式。对于如何进行这项工作,您有什么建议吗,例如特定的XML编写器/解析器?本主题会有所帮助。做你的工作有很多方法。从我的数据结构来看,XML文件确实是最好的方式。对于如何进行这项工作,您有什么建议吗,例如特定的XML编写器/解析器?本主题会有所帮助。做你的工作有很多方法。