将一些数据放入android程序

时间:2013-06-21 12:28:29

标签: java android bundle

我是Android编程的新手。

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

如何将它们存储在程序中。

我可以使用savedInstanceState吗?

5 个答案:

答案 0 :(得分:2)

您可以使用商店数据的共享偏好设置并获取更多详细信息,请参阅以下http://developer.android.com/reference/android/content/SharedPreferences.html下面的官方文档

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

答案 1 :(得分:1)

存储阵列列表的方法。

选项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。如果您没有。对于arrayLists而不是使用选项1,您可以使用sqlite将数据保存在表中。当您拥有庞大的关系数据时,首选Sqlite。 你可以查看sqlite tutorial

选项3。使用静态arraylists .Static变量保留值但不会很长。使用静态变量不是一个好习惯。

答案 2 :(得分:0)

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

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

您的数据存储选项如下:

共享偏好设置

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

内部存储

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

外部存储空间

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

SQLite数据库

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

网络连接

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

答案 3 :(得分:0)

使用与Android集成的SQLite安装。这将一直持续到用户卸载/擦除其数据SQLite This tutorial has good examples

答案 4 :(得分:0)

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

将其存储在DB中 将其存储在共享首选项文件中。

如你所说,你是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。