Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Android сохранение во временной памяти

#android #memory


При запуске приложения, пользователь получает нужные ему данные которые должны действовать
во время работы приложения, т.е. к примеру,пользователь зашел, получил данные, вышел
и они должны удалиться. 
Главная цель чтоб доступ к этим данным был из любого активити.
Каким образом можно этого добиться ? 
Если хранить в бд или в sharedPrefrencess то надо отслеживать когда приложение будет
выключено. Но как я понимаю этого отследить не возможно ибо пользователь может крашнуть
приложение либо его просто закрыть и это не отследить.
    


Ответы

Ответ 1



Все верно описал @VAndrJ, с одной поправкой: в Android естественным синглтоном является объект типа Application - заведите свой класс Application и держите в нем свои данные. public class MyApplication extends Application { private int myData; public int getMyData() { return myData; } public void setMyData(int myData) {this.myData=myData; } } Далее в любом Activity: MyApplication myApplication=(MyApplication )this.getApplication(); Log.i("TAG", "myData="+myApplication.getMyData()); Не забудьте продекларировать MyApplication в манифесте.

Ответ 2



Ну один из самых простых вариантов для описанного случая - паттерн singleton. public class ClassicSingleton { private static ClassicSingleton instance = null; private ClassicSingleton() {} public static ClassicSingleton getInstance() { if(instance == null) { instance = new ClassicSingleton(); } return instance; } } Далее добавляете необходимые поля, в которых будете хранить данные и обращаетесь к ним через ClassicSingleton.getInstance().имяПоля/геттер/сеттер (как задумаете)

Комментариев нет:

Отправить комментарий