Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10

Получение контекста!

12.05.2014, 10:21. Показов 4828. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здавствуйте участники форума!

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

Попробовал таким образом:



Выводит в логи->



Это ли есть контекст? Но его не получается использовать в EditText



В общем, умные люди, подскажите как правильно получать сиё чудо под названием контекст?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2014, 10:21
Ответы с готовыми решениями:

Вызов методов Context из статичного контекста
Столкнулся с тем, что не могу получить содержимое ресурса из созданных классов. К примеру getString() не доступен. Нашел такой вариант...

Получение из контекста информации об устройстве и метрике
Задача звучит так: Извлекать информацию из контекста позволяет функция HDC GetDC( HWND hWnd // дескриптор окна ); А...

Lifetime контекста
Как у вас в крупных проектах на ASP.MVC живёт контекст базы данных? То есть пока всё просто и общение с базой вынесено в отдельный слой, то...

17
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 10:45
art_master, это libgdx? Game это точно не контекст.
Цитата Сообщение от art_master Посмотреть сообщение
чудо под названием контекст
Если обратиться к докам, то там будет видно, что:
Контекст есть глобальная информация о приложении (т.е. приложение запускается в контексте). Позволяет получать доступ к ресурсам и классам, а так же вызовам, таким как запуск активити/интент/сервисов.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 11:01  [ТС]
Что такое контекст, я знаю. Вопрос в том, что он из себя представляет? И самое главное, как его получить, допустим в игровом цикле?

Добавлено через 2 минуты
YuraAAA, нет это не libgdx.
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 11:10
art_master, контекст можно получить в активити (активити и есть контекст) и пробросить через конструктор/метод. Это один вариант. Второй - костыль-менеджер )

Делаем такой класс:
Java
1
2
3
4
5
6
7
8
9
10
11
public class GGManager {
    private static Context context;
 
    public static Context getContext() {
        return context;
    }
 
    public static void setContext(Context context) {
        GGManager.context = context;
    }
}
При старте активити делаем GGManager.setContext(this);
Где нужно забрать контекст - GGManager.getContext();
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
12.05.2014, 11:29
YuraAAA, а не считается ли плохим тоном делать контекст статиком?

art_master, почему нельзя передать просто контекст в конструкторе? Зачем приведение типов?

А от чего упаследован Game? Если от активити или фрагмента то должна работать следующая конструкция. (Fragment)game. Ее и используйте вместо контекста
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 11:35
Лучший ответ Сообщение было отмечено art_master как решение

Решение

Цитата Сообщение от KillAndEat Посмотреть сообщение
а не считается ли плохим тоном делать контекст статиком?
Да, считается. По-этому, он я и назвал его GGManager
Нормальным тоном считается, если сделать Singleton класс, который будет унаследован от Application:
Java
1
2
3
4
5
6
public class TheApplication extends Application {
//Singleton access here
///........
///
 
}
И дописав его в манифесте можно будет использовать:

Java
1
TheApplication.getInstance().getApplicationContext()
Это не будет костылём.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 11:54  [ТС]
KillAndEat, насчет (Fragment)game, нужно попробовать. Да от активити.

YuraAAA, спасибо. Тоже вариант.
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 12:56
art_master, если Game класс унаследован от активити он и есть контекст.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 13:14  [ТС]
YuraAAA, ну смотрите, я вывел в логи, (Context) game
Вот что получилось....
https://drive.google.com/file/... sp=sharing

Я так понимаю, Контекст- это ссылка на функционал приложения. Ну или что-то типа этого.
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 13:26
art_master, Ничего не понятно, что там на скриншоте. Разверните. Там ошибка что ли?
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 13:35  [ТС]
YuraAAA, смотрите, в лог выводит..... ru.engine.chessknight@40519998

ru.engine.chessknight это каталог. @40519998 видимо сама ссылка.

Сейчас проверил команду String info = this.context.getApplicationInfo().classN ame; Работает.
Надо было раньше так сделать. Но вот интересно, контекст есть, а editText не выводится. Может я что-то не так делаю?

Java
1
2
3
4
5
6
7
8
 public void f(Context context) {
         this.editText=new EditText(context);
        editText.setText("Z nen");
        editText.setHeight(400);
        editText.setWidth(400);
        editText.setBackgroundColor(Color.BLACK);
         
 }
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 13:42
art_master, опять же всё верно. Вы его создали, но не добавили ко view.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 13:53  [ТС]
Упс. Глюк

Добавлено через 2 минуты
YuraAAA, спасибо сейчас попробую
Это для меня новая тема

Добавлено через 4 минуты
YuraAAA, если не сложно подскажите как это реализовать? Как добавить?
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 14:07
art_master, покажите разметку (xml файл)
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 14:17  [ТС]
YuraAAA, дело в том что у меня нет xml файлов в приложении. Это как-нибудь можно реализовать программно?
0
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
12.05.2014, 14:37
YuraAAA, а с многопоточностью не будет проблем при использовании обычного Singleton в вашем решении? Или его нужно синхронизировать все же?

Добавлено через 25 секунд
А так решение интересное

Добавлено через 3 минуты
только не совсем понимаю как в манифесте его объявлять в таком случае.

Java
1
android:name=".TheApplication"
в классическом случае

Java
1
android:name=".TheApplication.initInstance("
в случае с шаблоном так будет чтоль?
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 15:17
KillAndEat,
XML
1
android:name=".TheApplication"
вот так.

Цитата Сообщение от KillAndEat Посмотреть сообщение
а с многопоточностью не будет проблем при использовании обычного Singleton в вашем решении? Или его нужно синхронизировать все же?
конечно же нет. Дело в том, что instance не порождается в конструкторе.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
class TheApplicaton extends Application {
private static TheApplication instance;
 
public static TheApplication getInstance() {
        return instance;
    }
 
 @Override
    public void onCreate() {
        instance = this;
        super.onCreate();
}
}
1
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 10
12.05.2014, 16:43  [ТС]
Ладно, спасибо всем. Особенно пользователю YuraAAA
Реализую то что я хотел графически.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2014, 16:43
Помогаю со студенческими работами здесь

Подгруздка контекста.
Подгружаю контекст в див с помощью аякса. $(document).ready(function(){ $.ajax({ type: "POST", ...

Привязка контекста к {}
Можно привязать контекст к объекту? var obj1 = { prop: 1, method: { set: function () { return...

Потеря контекста
Доброго времени суток. Помогите понять следующий пример: взят от сюда https://learn.javascript.ru/bind var user = { ...

COM потеря контекста. rpc_e_disconnected
Текст ошибки стандартный Если кто работает с такой штукой, подскажите как отлавливать такое в плане кода? try-catch на такое...

Замена пользовательского контекста
Здравствуйте. Требуется выполнить программу ls. Сделать нужно через заменц пользовательского контекста ( использую exec и его модификации)....


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru