1

我正在制作一个应用程序,在该应用程序中,我在列表视图中向用户显示联系人。我想向用户显示相同的列表视图,直到并且除非对联系人列表进行了一些更改。这里出现的问题是,当活动被破坏,直到用户回到具有联系人列表视图的活动,Where shall i store the items of the listview as to show them to the user again?我认为有 3 个选项可用:

1. Sqlite database
2. SdCard
3. Shared Preferences

我无法决定which will be the best option for saving the items稍后检索它们。在我的情况下,列表视图中的项目数可能高达 1000。请帮助我。提前致谢。

4

2 回答 2

4

您可以使用受保护的 SQLite 数据库,您还可以使用 sdcard 和任何文件格式(如属性文件、csv ...等)来保存您的列表详细信息,但是 sdcard 媒体与所有应用程序共享并且用户也可以访问。如此多的联系我不会推荐共享首选项,因为无法像 SQLite 中那样获取详细信息和运行查询。

于 2012-12-24T10:09:28.020 回答
2

在您的情况下,您绝对应该使用 SQLite。

以下是在什么时间使用哪个存储选项的简要说明:

共享首选项: 这些基本上适用于存储应用程序首选项和其他少量数据。SharedPreferences 是一个键/值存储,您可以在其中将数据保存在某个键下。要从存储中读取数据,您必须知道数据的键。因此,读取数据变得容易。但是对于大型数据集,这可能会变得有点困难,因为您必须为数据集中的每个键定义一个唯一键。例如:在 SharedPreferences 中存储用户登录的会话密钥。

内部存储: 这有利于存储用户不需要访问的应用程序数据。可能适用于存储日志或应用程序将创建/更新/删除的任何内容。

SQLite: 大量相同的结构化数据应存储在 SQLite 数据库中,因为数据库是为此类数据设计的。由于数据是由数据库结构化和管理的,因此可以使用 SQL 等查询语言对其进行查询以获取符合特定条件的数据子集。在这里搜索变得很容易。虽然 SQLite 的扩展性可能不如专用数据库那么大,但它对于较小的应用程序(如 Android 应用程序)来说非常快速和方便。例如:存储您的列表视图项目或存储食谱应用程序的食谱。

希望这可以帮助!!!

于 2012-12-24T10:23:19.203 回答