有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用SharedReferences保存对象[]?

什么都没有,但我尝试了很多解决方案。我不知道这些是错的,还是我做错了什么。我有MyClass[] array = new MyClass[] { objects declarations... };,我想用SharedReferences保存它。有人能给我完整的SaveIt() {}LoadIt() {}代码吗


共 (2) 个答案

  1. # 1 楼答案

    SharedPreference不是用来存储复杂对象、数组或列表的

    因此,在您的情况下,我建议使用Realm或SQLite作为本地数据库。您可以添加、删除或查询项目列表,这更加灵活

  2. # 2 楼答案

    不可能

    您只能在SharedPrefencesSharePreferences.Editor中存储简单值

    更新:

    如果您想使用横向库,请使用Gson库:

    dependencies {
    compile 'com.google.code.gson:gson:2.8.2'
    }
    

    商店:

    Gson gson = new Gson();
    //Your json response object value store in json object
    JSONObject jsonObject = response.getJSONObject();
    //Convert json object to string
    String json = gson.toJson(jsonObject);
    //Store in the sharedpreference
    getPrefs().setUserJson(json);
    

    检索:

    String json = getPrefs().getUserJson();