Speichern und erneutes Laden von ListView mit gemeinsamen Einstellungen [Speichern von onDestroy ()]

Ich erstelle eine Aufgabenliste. Im Moment fügt meine App Daten zu und von einer ListView hinzu und entfernt sie. Wenn ich meine Anwendung schließe, werden die Daten jedoch gelöscht. Ich möchte SharedPreferences verwenden, um die Daten auf Destroy () zu speichern. Beim Öffnen meiner App wollte ich, dass die Daten neu geladen werden.

Ich weiß jedoch nicht, wie ich diese Aufgabe erledigen soll.Kann mir jemand beim Speichern einer ListView mithilfe der gemeinsamen Einstellungen helfen (auch bekannt als "Ich suche nach Code")?

Es gibt Lernprogramme für nur eine gemeinsame Einstellung. Ich möchte beim Schließen meiner Anwendung dynamisch mehrere Zeichenfolgen hinzufügen. Wenn ich es dann wieder öffne, werden die Daten angezeigt. Ich benutze nur EINE AKTIVITÄTS-Seite, alles wird auf einer Seite erscheinen.

HIER IST MEIN CODE:

public class Main_ToDoList extends Activity implements OnClickListener
{
private Button btnAdd;
private EditText et;
private ListView lv;
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
final Context context = this;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    btnAdd = (Button)findViewById(R.id.addTaskBtn);
    btnAdd.setOnClickListener(this);
    et = (EditText)findViewById(R.id.editText);
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);

    // set the lv variable to your list in the xml
    lv=(ListView)findViewById(R.id.list);
    lv.setAdapter(adapter);

    // set ListView item listener
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, final int position, long id)
        {
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
            alertDialogBuilder.setTitle("Confirm Delete");
            alertDialogBuilder.setMessage("Sure you want to delete?");
            alertDialogBuilder.setCancelable(false);
            alertDialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialogInterface, int i)
                {
                    adapter.remove(adapter.getItem(position));
                }
            });
            alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialogInterface, int i)
                {
                    dialogInterface.cancel();
                }
            });
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();
        }
    });
}
public void onClick(View v)
{
    String input = et.getText().toString();
    if(input.length() > 0)
    {
        adapter.add(input);
        et.setText("");
    }
}
@Override
public void onDestroy()
{
    super.onDestroy();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main__to_do_list, menu);
    return true;
}
}