有 Java 编程相关的问题?

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

java如何使SharedReference更新数据,而不是覆盖数据并丢失部分数据?

我使用以下代码将ArrayList<String>保存到SharedPreferences

StringBuilder stringBuilder = new StringBuilder();

    for(String str: semesterArray) {
        stringBuilder.append(str);
        stringBuilder.append(",");
    }

    SharedPreferences sharedPreferences = getSharedPreferences("PREFERENCES", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("semesterArray", stringBuilder.toString());
    editor.apply();

这在一定程度上完成了任务,因为它按预期保存了ArrayList<String>,并且当应用程序重新启动时,添加的Semesters仍按我希望的方式存储在ArrayList<String>中。但是,如果我在重新启动应用程序后添加更多Semesters,则已保存的Semesters将被覆盖,我将丢失以前保存的Semesters。有没有办法更新SharedPreferences而不是覆盖?如果没有,我应该朝哪个方向存储这些^{?谢谢你的帮助


共 (0) 个答案