Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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:创建FIFO数据存储的最简单方法?_Android_Data Storage - Fatal编程技术网

Android:创建FIFO数据存储的最简单方法?

Android:创建FIFO数据存储的最简单方法?,android,data-storage,Android,Data Storage,我想以以下格式存储数据: file_name(string) | full_path(string) | file_type(string) 除了具有这种格式之外,我还希望这种存储能够通过FIFO方法工作:插入新行时,所有其他行都“在”之前 我考虑过使用普通文件,但我不确定如何在不使用“id”列的情况下实现FIFO方法(以确定哪个先到) 有没有一种不使用数据库的简单方法来解决这个问题?如果您担心数据库的“杀伤力过大”,而使用文件来让事情变得“轻巧”,那么就不要这样做。SQLite最终是一个单一

我想以以下格式存储数据:

file_name(string) | full_path(string) | file_type(string)
除了具有这种格式之外,我还希望这种存储能够通过FIFO方法工作:插入新行时,所有其他行都“在”之前

我考虑过使用普通文件,但我不确定如何在不使用“id”列的情况下实现FIFO方法(以确定哪个先到)


有没有一种不使用数据库的简单方法来解决这个问题?

如果您担心数据库的“杀伤力过大”,而使用文件来让事情变得“轻巧”,那么就不要这样做。SQLite最终是一个单一的文件,轻巧且经过优化,您要做的是创建存储在文件中的自己的“数据库”

创建一个SQLlite数据库,这在android中非常简单,并且您可以免费使用FIFO,标准插入将结束,并且您可以通过结合ORDER BY、DESC和LIMIT来获得所需的检索,以满足您的需要。是一个简单的SQL SELECT语句。

您在“所有其他行”之前说过“FIFO方法:插入新行”

你是说后进先出?如果您计划在所有其他行之前添加某些内容(并在所有其他行之前处理它),那么这就是后进先出


第二个问题。你需要坚持吗?如果不这样做,数据库将是巨大的过度消耗。您所需要做的就是拥有类的对象。

为什么不使用数据库?到目前为止,数据库是最简单的方法。使用数据库是最简单的方法吗?如果是这样的话,我将使用数据库。是的,我需要持久性(当用户退出应用程序时,数据必须保持不变)。实际上,堆栈是可序列化的。如果要创建具有文件名、完整路径和文件类型的可序列化类,则可以将其(整个堆栈)序列化/反序列化为文件。我相信代码的数量和复杂性将低于数据库的使用量。