#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().имяПоля/геттер/сеттер (как задумаете)
Комментариев нет:
Отправить комментарий