如何将多维数组放入android的共享首选项中

问题描述 投票:1回答:3

基本上我的数组是这种格式,我想将其存储在共享首选项中但不知道有人会怎么给我想法或代码

我正在处理动态内容

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"},
                {}
        };
android multidimensional-array sharedpreferences
3个回答
1
投票

您可以使用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));

请注意,如果您关心性能(需要存储大量数据/大量数据,例如图像),则共享首选项和上述方法可能都不是最佳选择


0
投票

您可以在首选项中使用putStringSet

示例preferences.putStringSet(“ key”,Set);


0
投票

我参加了这门课

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进行添加

与获得它们一样

© www.soinside.com 2019 - 2024. All rights reserved.