0

我是 Android 编程新手。

我想创建一些 ArrayLists 并将它们放入程序中。当我关闭或暂停程序时,它们必须被存储。直到程序卸载。

我怎样才能将它们存储在程序中。

我可以使用 savedInstanceState 吗?

4

5 回答 5

2

您可以使用共享首选项来存储数据并获取数据以获取更多详细信息,请参阅以下 http://developer.android.com/reference/android/content/SharedPreferences.html上的官方文档

以及共享首选项示例教程的链接http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

于 2013-06-21T12:30:51.860 回答
1

存储数组 List 的方法。

选项 1.我参考了这个链接Save ArrayList to SharedPreferences

在 API 11 之后,SharedPreferences 编辑器接受集合。您可以将 List 转换为 HashSet 。当您读回它时,将其转换为 ArrayList 。检查上面的链接以获得完整的解释和代码。

//Retrieve the values
Set<String> set = new HashSet<String>();
set = myScores.getStringSet("key", null);

//Set the values
Set<String> set = new HashSet<String>();
set.addAll(listOfExistingScores);
scoreEditor.putStringSet("key", set);
scoreEditor.commit();

选项 2。 如果您没有。数组列表,而不是使用选项一,您可以使用 sqlite 将数据保存在表中。当您拥有庞大的关系数据时,首选Sqlite 。你可以查看这个sqlite 教程

选项 3.使用静态数组列表。静态变量保留值但不会很长时间。使用静态变量不是一个好习惯。

于 2013-06-21T12:31:45.240 回答
0

我可以想到两种方法来存储持久使用的数据,直到您卸载应用程序:

将其存储在数据库中 将其存储在共享首选项文件中。

正如您所说,您是 android 新手,我希望您使用 SharedPreference。

像这样声明首选项对象

SharedPreferences prefs = this.getSharedPreferences(context, Context.MODE_PRIVATE);

使用将值存储在键中

prefs.edit().putString(KEY, "Value to be stored").commit();

获得价值使用

prefs.getString(KEY, DEFAULT_VALUE);

如果 KEY 没有值对,则返回 DEFAULT_VALUE。

于 2013-06-21T12:41:09.607 回答
0

请在开发者网站上查看此链接

http://developer.android.com/guide/topics/data/data-storage.html

您的数据存储选项如下:

共享偏好

将私有原始数据存储在键值对中。

内部存储器

将私有数据存储在设备内存中。

外置储存

将公共数据存储在共享的外部存储上。

SQLite 数据库

将结构化数据存储在私有数据库中。

网络连接

使用您自己的网络服务器将数据存储在网络上。

于 2013-06-21T12:31:35.087 回答
0

使用与 Android 集成的 SQLite 安装。这将一直持续到用户卸载/擦除他们的数据SQLite 本教程有很好的例子

于 2013-06-21T12:32:11.037 回答