Использование статических переменных в Android - PullRequest
0 голосов
/ 10 мая 2018

Я работаю над приложением для Android. В приложении вы можете создавать различные проекты фильмов, и каждый проект будет иметь клипы (хранящиеся во внешнем хранилище, которое соответствует определенной структуре каталогов), с которыми вы можете работать. Проект может быть в разных состояниях, то есть начат, продолжается, завершен. Я использую комбинацию имени каталога и общих настроек, чтобы сохранить состояние проекта. Когда вы открываете приложение, появляется заставка, и в фоновом режиме я загружаю все данные проектов и фильмов в статическом ArrayList, который находится в моем основном классе активности. Я очищаю ArrayList только при подтверждении выхода из приложения (это делается с помощью диалогового окна с предупреждением при обратном нажатии). Поэтому я выполняю только операции записи в список при открытии и закрытии приложения.

Пока все работает нормально, но я все еще скептически отношусь к хранению данных в статических переменных. Я не могу предвидеть никаких ошибок, но хотел бы выслушать мнение сообщества о моем методе.

1 Ответ

0 голосов
/ 10 мая 2018

Общий подход заключается в использовании одноэлементного шаблона, в котором вы создаете экземпляр класса «engine», который хранит и управляет состоянием приложения и данными. Действия могут получить к нему доступ, вызвав некоторый статический метод, например Engine.getInstance (), когда им нужно получить данные. Это также помогает вам отделить логический код от чистого пользовательского интерфейса.

...