我有一个arraylist。我需要将它们存储为持久数据。我怎样才能在android中实现这一点?共享偏好可以帮助吗?
答案 0 :(得分:0)
有几种方法取决于数据是什么以及您打算如何处理数据。 SharedPrefs,SQLite DB和内部存储都是选项。但就像我说的,这取决于你将要做什么。 Docs 解释了所有这些,您需要确定最适合您的方式。
答案 1 :(得分:0)
我同意codeMagic。这取决于数据是什么以及您将如何处理它。
以下是对何时使用的存储选项的简要说明:
共享首选项:这些基本上适用于存储应用程序首选项和其他一小部分数据.SharedPreferences是一个键/值存储,您可以在其中保存某些键下的数据。要从商店读取数据,您必须知道数据的密钥。因此,读取数据变得容易。但是对于大型数据集,它可能会变得有点困难,因为您必须为数据集中的每个键定义唯一键。例如:在SharedPreferences中存储用户登录的会话密钥。
内部存储:这适用于存储用户不需要访问的应用程序数据。可能适用于存储日志或应用程序将创建/更新/删除的任何内容。
SQLite :大量相同的结构化数据应存储在SQLite数据库中,因为数据库是针对此类数据而设计的。由于数据是由数据库构建和管理的,因此可以查询使用SQL等查询语言获取与某些条件匹配的数据子集。在这里搜索变得容易。虽然SQLite可能无法像专用数据库那样大规模扩展,但对于像Android应用程序这样的小型应用程序来说,它非常快捷方便。例如:存储列表视图项目或存储配方应用程序的配方。
希望这有帮助!!!
答案 2 :(得分:0)
我认为你不能以一种简单的方式(即使在任何方面)使用 SharedPreferences 作为 ArrayList ,因为没有{{1} SharedPreference.Editor类中的{}或putObject()
方法。
但还有其他几个storage options。