基本上我的数组是这种格式,我想将其存储在共享首选项中但不知道有人会怎么给我想法或代码
我正在处理动态内容
String[][] my_date;
my_date = new String[][] {
{"14","26"},
{"12","16","24","27"},
{"17"},
{"8","13","18"},
{"14"},
{},
{"29"},
{"15","18"},
{},
{"2","3","6","8","23"},
{"4","6","24"},
{}
};
您可以使用ObjectSerializer。 [https://github.com/apache/pig/blob/89c2e8e76c68d0d0abe6a36b4e08ddc56979796f/src/org/apache/pig/impl/util/ObjectSerializer.java]这个很棒的类使您可以轻松地将各种对象序列化为String,然后可以将其保存在任意位置。例如,已经创建了一个sharedPreferences实例:
sharedPreferences.edit().putString( YOUR_OBJECT_KEY, ObjectSerializer.serialize(object) ).commit();
要使对象脱离共享,可以致电
object = (Object) ObjectSerializer.deserialize(sharedPreferences.getString( YOUR_OBJECT_KEY, null));
请注意,如果您关心性能(需要存储大量数据/大量数据,例如图像),则共享首选项和上述方法可能都不是最佳选择
您可以在首选项中使用putStringSet
示例preferences.putStringSet(“ key”,Set);
我参加了这门课
public class SavedPreference
{
static final String PREF_USER_NAME = "username";
static final String PREF_PASS = "password";
static SharedPreferences getSharedPreferences(Context ct)
{
return PreferenceManager.getDefaultSharedPreferences(ct);
}
public static void setUserName(Context ctx, String userName)
{
Editor editor = getSharedPreferences(ctx).edit();
editor.putString(PREF_USER_NAME, userName);
editor.commit();
}
public static void eraseSavedPreference(Context ctx)
{
Editor editor = getSharedPreferences(ctx).edit();
editor.clear();
editor.commit();
}
public static String getUserName(Context ctx)
{
return getSharedPreferences(ctx).getString(PREF_USER_NAME, "");
}
}
以您的情况:
在setUserName中,您可以在其中更改代码,在其中添加您的二维数组并对其进行迭代,然后使用putString进行添加
与获得它们一样