我使用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);
}
您可以使用Gson或任何您喜欢的东西将列表转换为JSON,并将其保存在SharedPreferences上,当您想从中获取数据时,可以从该JSON字符串中获取所需的元素。
有关更多信息,请参阅本教程