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

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

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




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

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

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

Click here to read this article!

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


Последний раз редактировалось damager82 23 июн 2016, 22:18, всего редактировалось 3 раз(а).

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

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

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

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


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

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

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

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


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

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


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

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


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

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

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


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

Зарегистрирован: 08 янв 2015, 15: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, 17:20 
Аватар пользователя

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

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


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

Зарегистрирован: 03 янв 2014, 15:28
Сообщений: 13
Благодарил (а): 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, 10:55 

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


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

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


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

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