🗊Презентация Android Broadcast receivers

Нажмите для полного просмотра!
Android Broadcast receivers, слайд №1Android Broadcast receivers, слайд №2Android Broadcast receivers, слайд №3Android Broadcast receivers, слайд №4Android Broadcast receivers, слайд №5Android Broadcast receivers, слайд №6Android Broadcast receivers, слайд №7Android Broadcast receivers, слайд №8Android Broadcast receivers, слайд №9Android Broadcast receivers, слайд №10Android Broadcast receivers, слайд №11Android Broadcast receivers, слайд №12Android Broadcast receivers, слайд №13Android Broadcast receivers, слайд №14Android Broadcast receivers, слайд №15Android Broadcast receivers, слайд №16Android Broadcast receivers, слайд №17Android Broadcast receivers, слайд №18Android Broadcast receivers, слайд №19Android Broadcast receivers, слайд №20Android Broadcast receivers, слайд №21Android Broadcast receivers, слайд №22Android Broadcast receivers, слайд №23Android Broadcast receivers, слайд №24Android Broadcast receivers, слайд №25Android Broadcast receivers, слайд №26Android Broadcast receivers, слайд №27Android Broadcast receivers, слайд №28Android Broadcast receivers, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Android Broadcast receivers. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Broadcast receivers
Описание слайда:
Broadcast receivers

Слайд 2





Создание гиперссылок
XML-разметка:
https://git.io/vPpN6
Описание слайда:
Создание гиперссылок XML-разметка: https://git.io/vPpN6

Слайд 3





Вспомним про интенты
Намерение (интент) - это механизм для описания одного действия – например, выбора фотографии, отправки письма, совершения звонка, запуска браузера с переходом по указанному адресу, запуска сервиса или другого активити в приложении, и тд. Сегодня мы рассмотрим применение интентов для трансляции сообщений по системе. Любое приложение способно зарегистрировать широковещательный приёмник (broadcast receiver) и отслеживать интенты с возможностью на них реагировать. Это позволяет создавать приложения, использующие событийную модель, в основе которой лежат внутренние, системные или сторонние события, передаваемые внешними программами.
Описание слайда:
Вспомним про интенты Намерение (интент) - это механизм для описания одного действия – например, выбора фотографии, отправки письма, совершения звонка, запуска браузера с переходом по указанному адресу, запуска сервиса или другого активити в приложении, и тд. Сегодня мы рассмотрим применение интентов для трансляции сообщений по системе. Любое приложение способно зарегистрировать широковещательный приёмник (broadcast receiver) и отслеживать интенты с возможностью на них реагировать. Это позволяет создавать приложения, использующие событийную модель, в основе которой лежат внутренние, системные или сторонние события, передаваемые внешними программами.

Слайд 4





Примеры неявных интентов
Описание слайда:
Примеры неявных интентов

Слайд 5





Виды интентов: явный
// код первого активити
ArrayList<File> fileList = new ArrayList<>();
Intent intent = new Intent(MainActivity.this, SecondActivity.class); // явный вызов
intent.putExtra("FILES_LIST", fileList);
startActivity(intent);

// код второго активити
ArrayList<File> filelist = (ArrayList<File>)getIntent()
.getSerializableExtra("FILES_LIST");
Описание слайда:
Виды интентов: явный // код первого активити ArrayList<File> fileList = new ArrayList<>(); Intent intent = new Intent(MainActivity.this, SecondActivity.class); // явный вызов intent.putExtra("FILES_LIST", fileList); startActivity(intent); // код второго активити ArrayList<File> filelist = (ArrayList<File>)getIntent() .getSerializableExtra("FILES_LIST");

Слайд 6





Виды интентов: неявный
Неявные намерения — это механизм, позволяющий запрашивать компоненты приложений с помощью действий. Можно попросить систему запустить активити, выполняющее заданное действие, не зная ничего ни о самом активити, ни о приложении. Например, можно набрать телефонный номер, но не знать, какую программу дозвона выберет пользователь на своём телефоне. При создании неявного интента необходимо назначить действие, которое должно выполниться, а также при желании указать вспомогательный путь URI к тем данным, что нужно обработать.
Описание слайда:
Виды интентов: неявный Неявные намерения — это механизм, позволяющий запрашивать компоненты приложений с помощью действий. Можно попросить систему запустить активити, выполняющее заданное действие, не зная ничего ни о самом активити, ни о приложении. Например, можно набрать телефонный номер, но не знать, какую программу дозвона выберет пользователь на своём телефоне. При создании неявного интента необходимо назначить действие, которое должно выполниться, а также при желании указать вспомогательный путь URI к тем данным, что нужно обработать.

Слайд 7





Действия неявных интентов
ACTION_ANSWER
ACTION_CALL
ACTION_DELETE
ACTION_EDIT
ACTION_INSERT
ACTION_HEADSET_PLUG
ACTION_MAIN
ACTION_PICK
Описание слайда:
Действия неявных интентов ACTION_ANSWER ACTION_CALL ACTION_DELETE ACTION_EDIT ACTION_INSERT ACTION_HEADSET_PLUG ACTION_MAIN ACTION_PICK

Слайд 8





Широковещательные сообщения
В системе Android существует понятие широковещательных сообщений, которые можно как отправлять, так и принимать. Для отправки сообщений, предназначенных не какому-то отдельному приложению, объекту или компоненту, а всем подряд – применяются опять же таки интенты. И любая программа, оборудованная специальным рисивером, может поймать это сообщение и предпринять свои ответные действия на основе полученной информации.
Описание слайда:
Широковещательные сообщения В системе Android существует понятие широковещательных сообщений, которые можно как отправлять, так и принимать. Для отправки сообщений, предназначенных не какому-то отдельному приложению, объекту или компоненту, а всем подряд – применяются опять же таки интенты. И любая программа, оборудованная специальным рисивером, может поймать это сообщение и предпринять свои ответные действия на основе полученной информации.

Слайд 9





Создание сообщения
Сообщения может посылать операционная система, наше приложение или чужие приложения.
Для создания сообщения необходимо оформить объект-интент, установив ему дополнительные сведения (действие, данные и категорию). Строка действия должна быть уникальной, чтобы рисиверы смогли точно идентифицировать переданное сообщение. Обычно, строка-идентификатор действия составляется по правилам именования пакетов Java. Например, так:
public static final String MY_MESSAGE = "com.sunmeat.thirdproject.MESSAGE_1";
Описание слайда:
Создание сообщения Сообщения может посылать операционная система, наше приложение или чужие приложения. Для создания сообщения необходимо оформить объект-интент, установив ему дополнительные сведения (действие, данные и категорию). Строка действия должна быть уникальной, чтобы рисиверы смогли точно идентифицировать переданное сообщение. Обычно, строка-идентификатор действия составляется по правилам именования пакетов Java. Например, так: public static final String MY_MESSAGE = "com.sunmeat.thirdproject.MESSAGE_1";

Слайд 10





Отправка сообщения
Intent message = new Intent(); intent.setAction(MY_MESSAGE);

intent.putExtra("name", "Alex"); intent.putExtra("age", "28"); 

sendBroadcast(message);
Описание слайда:
Отправка сообщения Intent message = new Intent(); intent.setAction(MY_MESSAGE); intent.putExtra("name", "Alex"); intent.putExtra("age", "28"); sendBroadcast(message);

Слайд 11





Пример кода
MainActivity.java и activity_main.xml:
https://git.io/vXvVj
Описание слайда:
Пример кода MainActivity.java и activity_main.xml: https://git.io/vXvVj

Слайд 12





Нужен рисивер
Сообщение-то отправлено, однако ушло оно в никуда, так как ни одно приложение в системе не оборудовано рисивером для него. Попробуем создать рисивер прямо в этом же приложении, и будем сами принимать свои же сообщения.
Рисивер представляет собой обычный Java-класс на основе BroadcastReceiver. Можно создать класс вручную и наполнить его необходимыми методами, но в студии есть готовый шаблон, который поможет немного сэкономить время.
Описание слайда:
Нужен рисивер Сообщение-то отправлено, однако ушло оно в никуда, так как ни одно приложение в системе не оборудовано рисивером для него. Попробуем создать рисивер прямо в этом же приложении, и будем сами принимать свои же сообщения. Рисивер представляет собой обычный Java-класс на основе BroadcastReceiver. Можно создать класс вручную и наполнить его необходимыми методами, но в студии есть готовый шаблон, который поможет немного сэкономить время.

Слайд 13





Создание рисивера
Описание слайда:
Создание рисивера

Слайд 14





Прописка в манифесте
Описание слайда:
Прописка в манифесте

Слайд 15





Отредактируем файлы
Описание слайда:
Отредактируем файлы

Слайд 16





Системные сообщения
На практике, чаще встречается потребность принимать сообщения, а не отправлять их. В первую очередь это касается сообщений от системы. 
Примерами таких сообщений могут быть:
Низкий заряд батареи
Нажатие на кнопку камеры
Установка нового приложения
Описание слайда:
Системные сообщения На практике, чаще встречается потребность принимать сообщения, а не отправлять их. В первую очередь это касается сообщений от системы. Примерами таких сообщений могут быть: Низкий заряд батареи Нажатие на кнопку камеры Установка нового приложения

Слайд 17





Способы создания приёмника
Рисивер можно создать двумя способами - через манифест и программно через метод registerReceiver(). Между двумя способами есть существенная разница. Рисивер, заданный в манифесте, известен системе, которая сканирует файлы манифеста всех установленных приложений. Поэтому, даже если приложение не запущено, оно всё равно сможет отреагировать на поступающее сообщение. Рисивер, созданный программно, может работать только в том случае, когда активити приложения запущено. Некоторые системные сообщения могут обрабатываться только программными рисиверами. Это не лишено смысла, например, если приложение не запущено, ему нет смысла принимать сообщения о заряде батареи.
Описание слайда:
Способы создания приёмника Рисивер можно создать двумя способами - через манифест и программно через метод registerReceiver(). Между двумя способами есть существенная разница. Рисивер, заданный в манифесте, известен системе, которая сканирует файлы манифеста всех установленных приложений. Поэтому, даже если приложение не запущено, оно всё равно сможет отреагировать на поступающее сообщение. Рисивер, созданный программно, может работать только в том случае, когда активити приложения запущено. Некоторые системные сообщения могут обрабатываться только программными рисиверами. Это не лишено смысла, например, если приложение не запущено, ему нет смысла принимать сообщения о заряде батареи.

Слайд 18





Следим за уровнем громкости
Описание слайда:
Следим за уровнем громкости

Слайд 19





Следим за питанием
Описание слайда:
Следим за питанием

Слайд 20





Следим за вай-фаем
MyReceiver.java:
https://git.io/vXvF3
Описание слайда:
Следим за вай-фаем MyReceiver.java: https://git.io/vXvF3

Слайд 21





Следим за смсками
MyReceiver.java:
https://git.io/vXfeW
Описание слайда:
Следим за смсками MyReceiver.java: https://git.io/vXfeW

Слайд 22





Следим за входящими
MyReceiver.java:
https://git.io/vXJU8
Описание слайда:
Следим за входящими MyReceiver.java: https://git.io/vXJU8

Слайд 23





Системный интент TIME_TICK
Системное событие TIME_TICK срабатывает каждую минуту:
https://git.io/vXJLM
Описание слайда:
Системный интент TIME_TICK Системное событие TIME_TICK срабатывает каждую минуту: https://git.io/vXJLM

Слайд 24





Запуск после перезагрузки
Описание слайда:
Запуск после перезагрузки

Слайд 25





Жизненный цикл рисиверов
У рисиверов только один колбэк-метод:
void onReceive(Context context, Intent intent);
Когда сообщение прибывает, Android вызывает метод onReceive() и передаёт в него интент, содержащий сообщение. Рисивер активен только во время выполнения этого метода. Выполняющийся в настоящее время код в методе onReceive() является приоритетным процессом и будет сохранён (защищён от уничтожения системой), кроме случаев критического недостатка памяти. Когда программа возвращается из метода onReceive(), рисивер становится неактивным – и такой процесс может быть уничтожен системой в любое время, когда память, которую он потребляет, будет необходима другим процессам.
Описание слайда:
Жизненный цикл рисиверов У рисиверов только один колбэк-метод: void onReceive(Context context, Intent intent); Когда сообщение прибывает, Android вызывает метод onReceive() и передаёт в него интент, содержащий сообщение. Рисивер активен только во время выполнения этого метода. Выполняющийся в настоящее время код в методе onReceive() является приоритетным процессом и будет сохранён (защищён от уничтожения системой), кроме случаев критического недостатка памяти. Когда программа возвращается из метода onReceive(), рисивер становится неактивным – и такой процесс может быть уничтожен системой в любое время, когда память, которую он потребляет, будет необходима другим процессам.

Слайд 26





Другие действия для рисиверов
Некоторые из встроенных действий, представленных как константы в классе Intent, которые используются для того, чтобы проследить изменения состояния устройства:
ACTION_DATE_CHANGED и ACTION_TIME_CHANGED  — запускаются при ручном изменении пользователем даты или времени на устройстве
ACTION_SCREEN_OFF и ACTION_SCREEN_ON — передаются, когда экран выключается или включается
ACTION_TIMEZONE_CHANGED — передаётся при изменении текущего часового пояса
Описание слайда:
Другие действия для рисиверов Некоторые из встроенных действий, представленных как константы в классе Intent, которые используются для того, чтобы проследить изменения состояния устройства: ACTION_DATE_CHANGED и ACTION_TIME_CHANGED  — запускаются при ручном изменении пользователем даты или времени на устройстве ACTION_SCREEN_OFF и ACTION_SCREEN_ON — передаются, когда экран выключается или включается ACTION_TIMEZONE_CHANGED — передаётся при изменении текущего часового пояса

Слайд 27





Практика
Создать рисивер в другом приложении. Сделать так, чтобы одно приложение отправляло сообщение, а другое – получало его.
Описание слайда:
Практика Создать рисивер в другом приложении. Сделать так, чтобы одно приложение отправляло сообщение, а другое – получало его.

Слайд 28





Практика
Keep the screen on:
https://developer.android.com/training/scheduling/wakelock.html#screen
Описание слайда:
Практика Keep the screen on: https://developer.android.com/training/scheduling/wakelock.html#screen

Слайд 29





Практика
Активити ставит себя на передний план каждые 5 секунд:
http://stackoverflow.com/questions/3801562/how-to-bring-an-activity-to-front-in-android
Описание слайда:
Практика Активити ставит себя на передний план каждые 5 секунд: http://stackoverflow.com/questions/3801562/how-to-bring-an-activity-to-front-in-android



Похожие презентации
Mypresentation.ru
Загрузить презентацию