Как создать глобальный ArrayList в Android?

Я хочу пользоваться данным листом на трех разных активити ( передавать через intent мне кажется слишком жирным, но если это лучше чем глобальный лист, то так и скажите )


Ответы (1 шт):

Автор решения: Sergei Buvaka

Ну тут все зависит от того, что это за "Глобальный список"

Условно если это список каких-то констант который вам нужно вызывать в разных точках вашего приложения - то просто создайте класс в котором будет статическая переменная:

class Constants {

    // если это должен быть именно List, а не массив, то придется создать приватный метод для его инициализации
    public static final List<String> constants = getConstants();

    private List<String> getConstants() {
        final List<String> constants = new ArrayList<>();
        constants.add();
        // тут добавляете ваши константы
        return constants;
    }
}

Это при условии, что данные статические и никогда не меняются. Для более объемных или динамических данных лучше создавать какой-то свой репозиторий который будет в себе инкапсулировать работу с этими списками. Просто хранить в себе на протяжении сессии или даже хранить где-то (в БД, Кэше или может быть даже на сервере).

→ Ссылка