Android存储字符串数组

时间:2011-11-03 20:12:31

标签: android string storage

在过去的一天半里,我一直在寻找有关如何存储字符串/字符串数组等的网站。我似乎无法弄明白。我不确定我是不是很理解如何实现数据存储......或者是什么。但这是我的问题,简单地说,我有两个活动页面(我们分别命名为'A,B')。我想要做的就是从活动B中的文本视图中获取一个字符串,将其存储在一个数组中,然后通过单击活动A中的按钮来访问它。

我知道这很简单,但我出于某种原因遇到了阻塞......我正在尝试使用SharedPreferences但是如何从Activity B获取字符串,将其存储在全局数组中,并让它通过不同的活动(活动A)?

3 个答案:

答案 0 :(得分:4)

只需将其存储到共享首选项中(通常在onPause()中):

            SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
            editor.putString(GAME_STATE, writer.toString());
            editor.commit();

在一个活动中加载另一个活动(通常在onResume()中):

        SharedPreferences preferences = getPreferences(MODE_PRIVATE);


    String jsonState = preferences.getString(GAME_STATE, null);

没有什么能阻止你使用公共静态变量

答案 1 :(得分:1)

您不能将数组直接存储在共享首选项中,但可以存储一组。

请参阅putStringSetgetStringSet。如果您希望将它们存储在SharedPreferences中,可以将数组中的所有项添加到LinkedHashSet(只要它们是唯一的)。有关如何使用SharedPreferences的一般概念,请参阅Konstantin的答案。

答案 2 :(得分:0)

是的,您可以在全局数组中获取并存储值,但是一旦关闭应用程序,您将丢失所有内容。因此,只要您需要,就可以更好地创建表并从表中存储/获取值。

以下是创建SQLite example的示例。