Android 如何在首选项中存储字符串[]

Android 如何在首选项中存储字符串[],android,arrays,string,sharedpreferences,Android,Arrays,String,Sharedpreferences,可能重复: 我是Android的新手,想学习如何保存和检索首选项中的字符串[]。现在我有两个代码示例。 这个是为了省钱 void saveText() { sPref = getSharedPreferences("MyPref", MODE_PRIVATE); Editor ed = sPref.edit(); ed.putString(SAVED_TEXT, position_name); ed.commit(); } 位置_名称作为编辑文本输入。

可能重复:

我是Android的新手,想学习如何保存和检索首选项中的字符串[]。现在我有两个代码示例。 这个是为了省钱

    void saveText() {
    sPref = getSharedPreferences("MyPref", MODE_PRIVATE);
    Editor ed = sPref.edit();
    ed.putString(SAVED_TEXT, position_name);
    ed.commit();
}
位置_名称作为编辑文本输入。首先,应该将其保存在字符串数组中,然后将字符串数组保存在首选项中。 对于加载,我有以下代码

    void loadText() {
    sPref = getSharedPreferences("MyPref", MODE_PRIVATE);
    String position_name = sPref.getString(SAVED_TEXT, "");
    bazar.add(new Bazar(position_name, R.drawable.unread));
}

这两种方法都是静态的,但我希望它们能够处理动态字符串类型的数据。简言之,我键入一些数据,这些数据应该存储在字符串数组中,然后存储在首选项中的字符串数组中。当我加载我的活动时,我希望检索这些存储的数据。尝试了不同的方法没有结果。您可以在这方面帮助我吗。

您可以使用API 11级及更高级别的SharedReference存储字符串集。请参见
getStringSet()
putStringSet()


在11之前的API级别中,您可以使用某种黑客。例如,如果您需要将字符串数组存储在键“stringArray”下,您可以使用putString和键“stringArray.1”、“stringArray.2”等保存数组中的每个字符串。

您不能因为共享pref只支持基元变量,至少不能用于api 11下的任何内容。对于lower,您可以做的是一步一步地遍历数组,并像这里这样单独放置它

我个人所做的是序列化对象,我想这会把它变成0和1。然后你把它放进去。您需要获得一个序列化类或自己创建一个

你真丢脸。一个简单的搜索就可以得到这些结果

通过(逗号)分隔符将其保存为字符串,在获取时只需使用split()

在SharePreference和commit()中设置字符串str 要在数组中获得相同的值:从SharePreference获取prefStr

String[] Array= prefStr.split(",");

希望能对您有所帮助。

我已经看过了,我需要一些样品。你有我可以找到的任何引用吗。你不能将数组存储到首选项。如果我是正确的,您只能存储基本数据类型。我应该使用then SQLite吗?正如我所说,我是一个新手,我想从简单的事情开始我的Android旅行。是的,你可以使用sqlite。应该可以。还有其他解决方案或建议吗?
String[] Array= prefStr.split(",");