Все вышеприведенные ответы верны.:) Я сам использовал один из них для моей ситуации.Однако, когда я прочитал вопрос, я обнаружил, что ОП на самом деле говорит о сценарии, отличном от заголовка этого поста, если я не понял его неправильно.
"Мне нужен массив для прикреплениядаже если пользователь покидает действие и затем хочет вернуться позже "
Он на самом деле хочет, чтобы данные сохранялись до тех пор, пока приложение не будет открыто, независимо от смены экрана пользователем в приложении.,
"однако мне не нужен массив, доступный после полного закрытия приложения"
Но после закрытия приложения данные не должны сохраняться.чувствовать, что использование SharedPreferences
не является оптимальным способом для этого.
Что можно сделать для этого требования, так это создать класс, который расширяет класс Application
.
public class MyApp extends Application {
//Pardon me for using global ;)
private ArrayList<CustomObject> globalArray;
public void setGlobalArrayOfCustomObjects(ArrayList<CustomObject> newArray){
globalArray = newArray;
}
public ArrayList<CustomObject> getGlobalArrayOfCustomObjects(){
return globalArray;
}
}
Использование метода setПолучатель ArrayList может быть доступен из любого места в приложении.И что самое приятное, когда приложение закрывается, нам не нужно беспокоиться о сохранении данных.:)