Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
#1

Переменные класса Application - Программирование Android

04.02.2016, 23:21. Просмотров 596. Ответов 12
Метки нет (Все метки)

Переменные(поля-данные) обьявленные внутри класса Application являются глобальными во всем приложении и значения присвоенные этим переменным доступны во всех активити и компонентах приложения(если только они не private) правильно я понимаю?

Добавлено через 1 минуту
То есть можно например хранить не в SharedPreferences а в классе Application некоторые нужные значения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2016, 23:21     Переменные класса Application
Посмотрите здесь:

Класс: Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. - Программирование Android
Есть 3 класса: MainActivity, WorkDB и WorkFiles. Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. Файл...

Android Application - Программирование Android
Здравствуйте!Скачал сегодня ADT. Есть два текстовых поля и кнопка. Нужно написать программу, которая считывает значения из этих полей,...

Что такое Application - Программирование Android
Обьясните "на пальцах" пожалуста!! :( Я так понял - это класс, который создается до всех активити и убивается после... Создал своего...

Android web application - Программирование Android
Помогите все прояснить, на андройде программирую год, есть опыт создания развлекательных приложений и игр. Решил познать сторону веб...

The application is incorrectly configured - Программирование Android
Пытаюсь разобраться с гугл плей сервисом сделал все как сказано здесь https://developers.google.com/games/services/android/quickstart, при...

Порядок закрытия Application - Программирование Android
Переопределил Application. Если я правильно понял (засекал) сначала выполняется onCreate() в Application, а уж потом активити по умолчанию....

Время жизни переменной в Application - Программирование Android
В Классе Application до какого времени живет переменная? Наблюдаю следующее: создаю класс наследник Application, там есть переменная...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
05.02.2016, 09:59     Переменные класса Application #2
Application удобно если у вас несколько активити,
но все равно нужно передавать данные в активити (пара строк)
SharedPreferences запишет ваши данные, Application по определению само ето не делает
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
05.02.2016, 12:09  [ТС]     Переменные класса Application #3
А как передать данные из Application в Activity? Можете подсказать?? То есть я могу в активити изменить некое целое число и сохранить его в поле Application верно?
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,642
Записей в блоге: 3
05.02.2016, 15:00     Переменные класса Application #4
Java
1
2
MyAppClass appClass = (MyAppClass) context.getApplicationContext();
appClass.i = 2;
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
18.02.2016, 10:52     Переменные класса Application #5
ILNAR_93, в каком случае нужны интенды для перехода между активностями?
не проще ли везде создавать Application
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,642
Записей в блоге: 3
18.02.2016, 16:12     Переменные класса Application #6
Цитата Сообщение от Valakin Посмотреть сообщение
не проще ли везде создавать Application
Возможно проще, я с начало изучения программирования под android "подсел" на этот метод передачи данных между активностями..
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
18.02.2016, 18:40     Переменные класса Application #7
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
я с начало изучения программирования под android "подсел" на этот метод передачи данных между активностями
Недавно создавал такую тему: Кто как передаёт коллекции между активностями, классами?.
На мой взгляд, передача данных через Application может использоваться как решение для упрощения разработки. Но имеет свои недостатки. "Каноническим" способом является передача через Intent. Кроме того, так сохраняется актуальность данных. Иначе они могут быть поменяны в другом месте.
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
21.02.2016, 23:01  [ТС]     Переменные класса Application #8
Java
1
2
MyAppClass appClass = (MyAppClass) context.getApplicationContext();
appClass.i = 2;
то есть если я выполнил этот код в onCreate одного Activity, но хочу достать значение сохраненное в appClass объекте MyAppClass уже в другом активити то там же объект appClass уже не существует(его область видимости и жизни ограничилась методом onCreate первого активити). И как мне тогда достать то значение которое я сохранил в MyAppClass?? Или объект appClass будет один на все риложение и будет существовать пока живет приложение? То есть из любого места приложения к нему можно обратиться он виден и существует везде в этом идея?
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,642
Записей в блоге: 3
22.02.2016, 11:07     Переменные класса Application #9
В классе Application есть переменная public int i;

Активность 1
Java
1
2
MyAppClass appClass = (MyAppClass) context.getApplicationContext();
appClass.i = 2;
активность 2
Java
1
2
MyAppClass appClass = (MyAppClass) context.getApplicationContext();
int b = appClass.i;
Добавлено через 13 минут
Цитата Сообщение от yura91 Посмотреть сообщение
То есть из любого места приложения к нему можно обратиться он виден и существует везде в этом идея?
Да.
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
22.02.2016, 11:10  [ТС]     Переменные класса Application #10
А метод getInstance() нужно вызывать для создания обьектов MyAppClass? Ведь класс Application - это же Singleton
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,642
Записей в блоге: 3
22.02.2016, 11:16     Переменные класса Application #11
yura91,
Java
1
getInstance()
- вы можете добавить этот метод в ваш Application класс и вызывать его
MyAppClass appClass = MyAppClass.getInstance();
int b = appClass.i;


Ваш класс MyAppClass наследующий Application
Java
1
2
3
4
5
6
7
8
9
10
11
private static MyAppClass singleton;
 
@Override
    public void onCreate() {
        super.onCreate();
        this.singleton = this;
    }
 
public MyAppClass getInstance(){
return singleton;
}
yura91
29 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,238
22.02.2016, 11:24  [ТС]     Переменные класса Application #12
А у базового класса Application нету своего метода getInstance()? Просто можно использовать не свой getInstance() а этот метод базово класса Application?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2016, 12:32     Переменные класса Application
Еще ссылки по теме:

The application may be doing too much work on its main thread - Программирование Android
Ну елки палки, это что еще такое ? :) В приложении запускаю камеру и ловлю результат PhotoObject current_photoObj ; // мой класс для...

Интересный факт о Application и Service :remote - Программирование Android
Значит берём создаём тестовый примерчик: Активити Сервис Биндимся из активити к сервису и через месенджер шлём сообщения сервису...

Создание выборочного activity при старте application - Программирование Android
Доброго времени суток! В приложении возможна регистрация. Когда юзер не зарегистрирован, то его при старте app перенаправляет на...

Пытаюсь добавить в проект application, но выходит ошибка - Программирование Android
Добавил class для аpplication и одну строчку манифесте, почему то сразу вылетает ошибки 03-03 09:59:31.582: D/jdwp(21588):...

Ошибка VKSdk.initialize(Context) must be call from Application#onCreate() - Программирование Android
Добрый день. Пытаюсь прикрутить к существующему приложению авторизацию через вк. Следую инструкциям с оф. API. Очевидно, что ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
22.02.2016, 12:32     Переменные класса Application #13
Цитата Сообщение от yura91 Посмотреть сообщение
А у базового класса Application нету своего метода getInstance()
нет
Yandex
Объявления
22.02.2016, 12:32     Переменные класса Application
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru