SQL或SharedPreferences,还是什么?

时间:2015-09-08 02:50:27

标签: android sqlite sharedpreferences

我想为啤酒酿造创建一个Android应用程序。该应用程序创建食谱和加载食谱。每种食谱都含有所需的成分和量,还包括所需的水,煮沸的时间和其他东西。简历中,每个配方都包含很多字符串(成分名称),整数,布尔值和双值。

在应用中保存此值的最佳方法是什么,并且可以将其分享给其他用户。?

如果每个食谱都可以存储为一个非常好的独立文件。

我正在使用Android Studio

5 个答案:

答案 0 :(得分:2)

一切都取决于你的灵活性。

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

SharedPreference 用于存储小尺寸信息,例如"阅读我"登录页面中的选项,用于存储userId& SharedPreference中的密码以便将来跳过登录屏幕。

当您拥有大量结构数据时,将使用

Sqlite 。 Sqlite还允许您使用查询来搜索特定数据。

答案 1 :(得分:2)

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

对于共享部分,您可以创建仅由您的应用程序知道的文件格式(可以是文本或二进制文件),也可以使用某些服务器端,如parse,这样您就可以非常容易将数据存储到服务器中并通知用户有关更改的信息等。

答案 2 :(得分:1)

SharedPreferences用于键值对,对此类内容无用。使用SQLite数据库,或将文件存储在应用程序的数据目录中。

详细了解存储选项here

答案 3 :(得分:1)

使用SharedPreference,您可以获得最大的灵活性(没有严格的结构),但是如果有大量的配方,您还可能遇到大小(和索引计数?)限制。

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

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

我通常在这些情况下选择sqlite,因为它通常更具未来性。

答案 4 :(得分:1)

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

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

我的结论

SQLite提供了一种非常强大的方式来整理和保存您的数据。所以我更喜欢 SQLite