0

我想更改共享首选项中数组中的值。我们可以在共享首选项中创建一个字符串数组并在我们的代码中使用它吗?当我输入不同的值并希望用户根据用户需要更改值时,这怎么可能。我想在微调器中使用这些值。

4

3 回答 3

1

是的,你可以这么做。请参阅此处链接中的 Egor 评论Put and get String array from shared preferences

这几乎就是你所需要的。

于 2012-11-01T05:22:50.480 回答
0

您不能在 sharedPrefence 中添加数组。您只能使用文档中定义的数据类型。如果您将大量数据放入 sharedPrefence 中,则所需的内存永远不会空闲。所以你可以使用应用程序类..当应用程序被强制停止时,应用程序类的内存将是空闲的..

于 2012-11-01T05:18:42.080 回答
0

插入你的价值观,比如

registrationPreferencesEditor.putInt("arraylength", a.length);
            for(int i=0;i<a.length;i++)
            {
                registrationPreferencesEditor.putInt("a"+(i+1), a[i]);
            }
            registrationPreferencesEditor.commit();

检索你的价值观

int lengthOfArray = registrationPreferences.getInt("arraylength", 0);
            int b[] = new int[lengthOfArray];
            for(int i=0;i<lengthOfArray;i++)
            {
                b[i] = registrationPreferences.getInt("a"+(i+1), 0);
                Log.e("b"+(i+1),""+b[i]);
            }

在此之前确保你有

SharedPreferences registrationPreferences;
SharedPreferences.Editor registrationPreferencesEditor;
int a[]={1,2,3,4,5};
registrationPreferences  = getSharedPreferences("registrationPreferences",
            MODE_WORLD_READABLE);
      registrationPreferencesEditor= registrationPreferences
            .edit();
于 2012-11-01T05:43:52.347 回答