Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 21 сен 2017, 02:51

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Урок 22. Intent, Intent Filter, Context - теория
СообщениеДобавлено: 06 окт 2011, 03:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1345
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
В этом уроке:

- разбираемся в коде урока 21
- теория по Intent и Intent Filter
- немного о Context

Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 29 апр 2017, 18:47, всего редактировалось 5 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 01:54 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Довольно хорошее описание. Спасибо.
Один вопрос: при неявной отправке объекта-Intent, поиск нужного Activity (если таковой существует) происходит быстро или всё же ощущается задержка?

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 09:40 
Аватар пользователя

Зарегистрирован: 11 янв 2012, 11:02
Сообщений: 29
Откуда: Belarus
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
no-- писал(а):
Довольно хорошее описание. Спасибо.
Один вопрос: при неявной отправке объекта-Intent, поиск нужного Activity (если таковой существует) происходит быстро или всё же ощущается задержка?

В целом, зависит от "железа", но на практике не замечал особых проблем по скорости даже при наличии большого количества фильтров и намерений.

_________________
--[+++++++<---->>-->+>+>+<<<<]
<.>++++[-<++++<++>>>->--<<]>>-.>--..>+.<<<.<<-.>>+>->>.+++[.<]<<++.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 28 ноя 2013, 16:50 

Зарегистрирован: 28 ноя 2013, 16:43
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Интересует общетеоретический вопрос:
Зачем упаковать в объект класса Intent объект-Activity для его дальнейшей передачи методу startActivity(). Почему объект-Activity нельзя запустить сразу через этот метод?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 28 ноя 2013, 16:59 

Зарегистрирован: 01 ноя 2013, 13:30
Сообщений: 52
Благодарил (а): 0 раз.
Поблагодарили: 15 раз.
Наверное потому, что на вход startActivity(Intent intent)
принимает Intent а не Activity.
Ваш К.О. =)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 28 ноя 2013, 17:04 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
mitand писал(а):
Интересует общетеоретический вопрос:
Зачем упаковать в объект класса Intent объект-Activity для его дальнейшей передачи методу startActivity(). Почему объект-Activity нельзя запустить сразу через этот метод?
На самом деле ни чего ни куда не упаковывается. Intent содержит лишь информацию о классе Activity и том как ее запускать. Intent переводится как намерение.
Фактически это класс содержащий информацию для системы, что мы хотим сделать.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 ноя 2015, 15:35 

Зарегистрирован: 08 янв 2015, 14:32
Сообщений: 115
Благодарил (а): 6 раз.
Поблагодарили: 5 раз.
не знаю куда воткнуть вопрос. наверное всёжтаки по контексту:

не могу разобраться с this и тому подобным(((

собственно задача: есть активити и класс не относящийся к активити.

как вызвать новое активити из этого класса подсказали: - надо получить доступ к контексту.

Код: [ Загрузить ] [ Скрыть ]
  1. Intent intent = new Intent(Context, My.class); 
  2. Context.startActivity(intent); 


теперь куча непоняток как захлопнуть активити из другого класса

все варианты c finish(); не работают(

создаю в активити:
Код: [ Загрузить ] [ Скрыть ]
  1. public void close {this.finish();} 


не могу его вызвать так как ACTIVITY.close() ругается, что метод NON STATIC

если сделать STATIC, то this.finish(); ругается, что this используется в статическом методе

короче я сломал мозг(


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 ноя 2015, 16:20 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1106
Откуда: Ukraine
Благодарил (а): 30 раз.
Поблагодарили: 175 раз.
Передавай в парметрах активити, а не контекст. (MyActivity activity)

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 фев 2016, 11:09 

Зарегистрирован: 03 янв 2014, 14:28
Сообщений: 20
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
GRAF_COLLIOSTRO писал(а):
не знаю куда воткнуть вопрос. наверное всёжтаки по контексту:

не могу разобраться с this и тому подобным(((

собственно задача: есть активити и класс не относящийся к активити.

как вызвать новое активити из этого класса подсказали: - надо получить доступ к контексту.

Код: [ Загрузить ] [ Скрыть ]
  1. Intent intent = new Intent(Context, My.class); 
  2. Context.startActivity(intent); 


теперь куча непоняток как захлопнуть активити из другого класса

все варианты c finish(); не работают(

создаю в активити:
Код: [ Загрузить ] [ Скрыть ]
  1. public void close {this.finish();} 


не могу его вызвать так как ACTIVITY.close() ругается, что метод NON STATIC

если сделать STATIC, то this.finish(); ругается, что this используется в статическом методе

короче я сломал мозг(


насколько я понимаю, поправьте меня если ошибаюсь:
this в java это указатель на текущий объект, поэтому в разных классах будет указывать на разные объекты. Поэтому иногда надо использовать метод GetAplicationContex() класса Activity, если необходимо получить контекст нашего приложения. Intent - это другой класс, другой тип, выполняющий другую функцию, поэтому нельзя передать в методе параметр другого типа.

и раз код выполняется в другом классе, то у вас this указывает именно на этот класс, а не на контекст приложения.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 фев 2016, 09:55 

Зарегистрирован: 17 фев 2016, 09:18
Сообщений: 8
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Нет кода - нет вопросов)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB