Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 SQL或SharedReferences,还是什么?_Android_Sqlite_Sharedpreferences - Fatal编程技术网

Android SQL或SharedReferences,还是什么?

Android SQL或SharedReferences,还是什么?,android,sqlite,sharedpreferences,Android,Sqlite,Sharedpreferences,我想为啤酒酿造创建一个android应用程序。应用程序创建配方并加载配方。每一份食谱都包含了所需的配料和用量,还包括所需的水、煮沸时间和其他材料。在简历中,每个配方都包含许多字符串(成分名称)、整数、布尔值和双精度值 在应用程序中保存这些值并将其共享给其他用户的最佳方法是什么 如果每个配方都可以存储为一个独立的文件,那就太好了 我正在使用Android Studio这完全取决于您的灵活性 内容提供商用于在应用程序之间共享数据 SharedReference用于在登录页面中存储小尺寸的信息,如“阅

我想为啤酒酿造创建一个android应用程序。应用程序创建配方并加载配方。每一份食谱都包含了所需的配料和用量,还包括所需的水、煮沸时间和其他材料。在简历中,每个配方都包含许多字符串(成分名称)、整数、布尔值和双精度值

在应用程序中保存这些值并将其共享给其他用户的最佳方法是什么

如果每个配方都可以存储为一个独立的文件,那就太好了


我正在使用Android Studio

这完全取决于您的灵活性

内容提供商用于在应用程序之间共享数据

SharedReference用于在登录页面中存储小尺寸的信息,如“阅读我”选项,您可以在SharedReference中存储用户ID和密码,以便将来跳过登录屏幕


Sqlite在结构数据较大时使用。Sqlite还允许您使用查询来搜索特定的数据。

SharedReferences
用于键值对,对于类似的情况没有用处。使用SQLite数据库,或将文件存储在应用程序的数据目录中


阅读有关存储选项的更多信息。

最好的解决方案可能是使用SQLite。 它将为您提供结构化数据的可能性,并使搜索和筛选更容易


对于共享部分,您可以创建只有应用程序才知道的文件格式(可以是文本或二进制文件),也可以使用类似的服务器端,这样您就可以非常轻松地将数据存储到服务器并通知用户更改等。

使用SharedReference,您可以获得最大的灵活性(无刚性结构)但是如果你有很多食谱,你可能会遇到大小(和索引计数?)的限制

使用sqlite几乎没有限制,但必须遵守需要定义的结构。调试和操作数据也更容易

根据应用程序导航数据的方式,您甚至可以使用平面文件(例如,每个配方一个文件,使用json格式)

在这些情况下,我通常会选择sqlite,因为它通常更适合将来使用。

更适合设置或少量数据存储在共享首选项中的数据存储在键值对中。这使得检索数据更加简单

复杂和大量的相同的结构化数据应存储在SQLite数据库中,因为数据库是为此类数据设计的

我的结论 提供了一种非常健壮的方法来组织和保存数据。因此我更喜欢SQLite