Guardar una ArrayList para archivar en Android

Tengo un ArrayList lleno de cadenas con las que el usuario lo llenó para usarlo en una actividad diferente en un ListView para ver las cadenas que han guardado. Quiero que se guarde la ArrayList que poblaron, pero estoy muy perdido en cómo hacer que funcione. He intentado FileOutputStream, SharedPreferences. Miré muchos ejemplos.

por ejemplo tengo

ArrayList<String> give = new ArrayList<String>();

y para salvar el arraylist he intentado cosas como

FileOutputStream fos = openFileOutput(MYFILENAME, Context.MODE_PRIVATE);
fos.write(give.getBytes());
fos.close();

pero esto no funciona en absoluto

Respuestas a la pregunta(2)

Su respuesta a la pregunta