Урок 22. Intent, Intent Filter, Context - теория
Урок 22. Intent, Intent Filter, Context - теория
В этом уроке:
- разбираемся в коде урока 21
- теория по Intent и Intent Filter
- немного о Context
Click here to read this article!
- разбираемся в коде урока 21
- теория по Intent и Intent Filter
- немного о Context
Click here to read this article!
Последний раз редактировалось damager82 29 апр 2017, 18:47, всего редактировалось 5 раз.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 22. Intent, Intent Filter, Context - теория
Довольно хорошее описание. Спасибо.
Один вопрос: при неявной отправке объекта-Intent, поиск нужного Activity (если таковой существует) происходит быстро или всё же ощущается задержка?
Один вопрос: при неявной отправке объекта-Intent, поиск нужного Activity (если таковой существует) происходит быстро или всё же ощущается задержка?
Re: Урок 22. Intent, Intent Filter, Context - теория
В целом, зависит от "железа", но на практике не замечал особых проблем по скорости даже при наличии большого количества фильтров и намерений.no-- писал(а):Довольно хорошее описание. Спасибо.
Один вопрос: при неявной отправке объекта-Intent, поиск нужного Activity (если таковой существует) происходит быстро или всё же ощущается задержка?
--[+++++++<---->>-->+>+>+<<<<]
<.>++++[-<++++<++>>>->--<<]>>-.>--..>+.<<<.<<-.>>+>->>.+++[.<]<<++.
<.>++++[-<++++<++>>>->--<<]>>-.>--..>+.<<<.<<-.>>+>->>.+++[.<]<<++.
Re: Урок 22. Intent, Intent Filter, Context - теория
Интересует общетеоретический вопрос:
Зачем упаковать в объект класса Intent объект-Activity для его дальнейшей передачи методу startActivity(). Почему объект-Activity нельзя запустить сразу через этот метод?
Зачем упаковать в объект класса Intent объект-Activity для его дальнейшей передачи методу startActivity(). Почему объект-Activity нельзя запустить сразу через этот метод?
Re: Урок 22. Intent, Intent Filter, Context - теория
Наверное потому, что на вход startActivity(Intent intent)
принимает Intent а не Activity.
Ваш К.О. =)
принимает Intent а не Activity.
Ваш К.О. =)
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 22. Intent, Intent Filter, Context - теория
На самом деле ни чего ни куда не упаковывается. Intent содержит лишь информацию о классе Activity и том как ее запускать. Intent переводится как намерение.mitand писал(а):Интересует общетеоретический вопрос:
Зачем упаковать в объект класса Intent объект-Activity для его дальнейшей передачи методу startActivity(). Почему объект-Activity нельзя запустить сразу через этот метод?
Фактически это класс содержащий информацию для системы, что мы хотим сделать.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: Урок 22. Intent, Intent Filter, Context - теория
не знаю куда воткнуть вопрос. наверное всёжтаки по контексту:
не могу разобраться с this и тому подобным(((
собственно задача: есть активити и класс не относящийся к активити.
как вызвать новое активити из этого класса подсказали: - надо получить доступ к контексту.
теперь куча непоняток как захлопнуть активити из другого класса
все варианты c finish(); не работают(
создаю в активити:
не могу его вызвать так как ACTIVITY.close() ругается, что метод NON STATIC
если сделать STATIC, то this.finish(); ругается, что this используется в статическом методе
короче я сломал мозг(
не могу разобраться с this и тому подобным(((
собственно задача: есть активити и класс не относящийся к активити.
как вызвать новое активити из этого класса подсказали: - надо получить доступ к контексту.
Код: Выделить всё
Intent intent = new Intent(Context, My.class);
Context.startActivity(intent);
все варианты c finish(); не работают(
создаю в активити:
Код: Выделить всё
public void close {this.finish();}
если сделать STATIC, то this.finish(); ругается, что this используется в статическом методе
короче я сломал мозг(
Re: Урок 22. Intent, Intent Filter, Context - теория
Передавай в парметрах активити, а не контекст. (MyActivity activity)
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Урок 22. Intent, Intent Filter, Context - теория
насколько я понимаю, поправьте меня если ошибаюсь:GRAF_COLLIOSTRO писал(а):не знаю куда воткнуть вопрос. наверное всёжтаки по контексту:
не могу разобраться с this и тому подобным(((
собственно задача: есть активити и класс не относящийся к активити.
как вызвать новое активити из этого класса подсказали: - надо получить доступ к контексту.
теперь куча непоняток как захлопнуть активити из другого классаКод: Выделить всё
Intent intent = new Intent(Context, My.class); Context.startActivity(intent);
все варианты c finish(); не работают(
создаю в активити:не могу его вызвать так как ACTIVITY.close() ругается, что метод NON STATICКод: Выделить всё
public void close {this.finish();}
если сделать STATIC, то this.finish(); ругается, что this используется в статическом методе
короче я сломал мозг(
this в java это указатель на текущий объект, поэтому в разных классах будет указывать на разные объекты. Поэтому иногда надо использовать метод GetAplicationContex() класса Activity, если необходимо получить контекст нашего приложения. Intent - это другой класс, другой тип, выполняющий другую функцию, поэтому нельзя передать в методе параметр другого типа.
и раз код выполняется в другом классе, то у вас this указывает именно на этот класс, а не на контекст приложения.
-
- Сообщения: 8
- Зарегистрирован: 17 фев 2016, 09:18
Re: Урок 22. Intent, Intent Filter, Context - теория
Нет кода - нет вопросов)