如何将 SharedPreferences 中的数据保存并显示为列表?
Posted
技术标签:
【中文标题】如何将 SharedPreferences 中的数据保存并显示为列表?【英文标题】:How do I save and display my data in SharedPreferences as a list? 【发布时间】:2022-01-02 21:23:43 【问题描述】:我正在使用 SharedPreferences 来保存和加载保存为字符串的数据。我希望能够将数据保存为列表,我该如何执行此操作并将其添加到列表中,而不是替换数据?
这就是我保存数据的方式:
public void saveButton(View v) throws JSONException
String data = ((TextView) findViewById(R.id.randomJokeSetup)).getText().toString();
String data2 = ((TextView) findViewById(R.id.randomJoke)).getText().toString();
SharedPreferences datafile = getSharedPreferences("my_data_file", MODE_PRIVATE);
SharedPreferences.Editor editor = datafile.edit();
editor.putString("setup", data);
editor.putString("punchline", data2);
editor.commit();
Snackbar.make(findViewById(R.id.save), "Joke saved!", Snackbar.LENGTH_SHORT).show();
这是我加载数据的方式:
public void loadButton(View v)
SharedPreferences datafile = getSharedPreferences("my_data_file", MODE_PRIVATE);
String setup = datafile.getString("setup","");
String punchline = datafile.getString("punchline","");
((TextView) findViewById(R.id.loadJokeSetup)).setText(setup);
((TextView) findViewById(R.id.loadJoke)).setText(punchline);
【问题讨论】:
这能回答你的问题吗? Save ArrayList in shared preferences @VaibhavGoyal 嗨,不是真的,我是初学者,所以我不太明白如何在我的代码中使用它 【参考方案1】:您可以将列表转换为 JSON 和 Gson 或任何您喜欢的内容,并将其保存在 SharedPreferences 中,当您想从中获取数据时,从该 JSON 字符串中获取您需要的元素。
更多信息请查看this tutorial
【讨论】:
以上是关于如何将 SharedPreferences 中的数据保存并显示为列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何在flutter中使用mysql数据库(或json)中的sharedpreferences键选择以列出最喜欢的记录?
将 SharedPreferences 值传递给 Flutter 中的另一个方法