Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Activity Lifecycle – part 2

Содержание

План презентацииСохранение состояния при поворотеСоздание второго активитиПередача данных во второе активитиОтправка почты с помощью интентаFlashlight v.2.0Голосовой ввод текстаПрактика
Activity Lifecycle – part 2 План презентацииСохранение состояния при поворотеСоздание второго активитиПередача данных во второе активитиОтправка почты На прошлом занятии мы…Создали поле класса int count = 0;Сделали кнопку, и Сохранение состоянияУдалить все вызовы setRequestedOrientationДописать в класс MainActivity два метода: Создаём второе активитиДобавить новое пустое активити SecondActivity в проект на панели Project: Создаём второе активитиМеняем тэг в MainActivity.javaString TAG = Как это работает Что такое IntentIntent (намерение) – это класс, объекты которого используются для взаимодействия Создаём второе активитиВ класс SecondActivity добавляем полеString TAG = Обмен даннымиПередать данные во второе активитиПолучить данные во втором активити ПрактикаСделать на втором активити кнопку для возврата на первое активитиПервое активити передаёт Нормальный возвратНовый вызов второго активити@Override public void onClick(View view) { Нормальный возвратОбработчик кнопки второго активити@Override public void onClick(View view) { Нормальный возвратДобавить метод в MainActivity@Override protected void onActivityResult(int requestCode, int resultCode, 					Intent Другое применение интентовИзменить код обработчика нажатия на кнопку в MainActivity: Фильтр подходящих приложенийК сожалению, нет простого решения для показа лишь определённых приложений EditTextXML-файл разметки MainActivity:		https://git.io/vifBRJava-код класса MainActivity:	https://git.io/vifBg Flashlight v.2Java-код класса MainActivity:https://git.io/vifaj(в XML нужна только одна кнопка) Результаты Настройки проектаГде лежит apk-файл?Как сделать иконки?https://resizeappicon.com/ Настройки проектаЧто делать с иконками?Онлайн-сервис подготовит все иконки нужных размеров. Останется только Гугл продвигает круглые иконки ПрактикаУстановить иконку для своего приложения. Подготовка изображенийПКМ по папке Drawable > New > Vector > Asset > Choose… Голосовой ввод текста Голосовой вводstrings.xml:https://git.io/viSfV colors.xml:https://git.io/viSfi activity_main.xml:https://git.io/viSf5 MainActivity.java:https://git.io/viSfb Домашнее заданиеПередать на второе активити через интент объект типа Cat или Student.
Слайды презентации

Слайд 2 План презентации
Сохранение состояния при повороте
Создание второго активити
Передача данных

План презентацииСохранение состояния при поворотеСоздание второго активитиПередача данных во второе активитиОтправка

во второе активити
Отправка почты с помощью интента
Flashlight v.2.0
Голосовой ввод

текста
Практика



Слайд 3 На прошлом занятии мы…
Создали поле класса int count

На прошлом занятии мы…Создали поле класса int count = 0;Сделали кнопку,

= 0;
Сделали кнопку, и обработчик onClick
В обработчике написали:



Нажимали на

кнопку несколько раз
Поворачивали экран
Потом снова нажимали на кнопку
И выяснили, что значение сбрасывается.

Слайд 4 Сохранение состояния
Удалить все вызовы setRequestedOrientation
Дописать в класс MainActivity

Сохранение состоянияУдалить все вызовы setRequestedOrientationДописать в класс MainActivity два метода:

два метода:


Слайд 5 Создаём второе активити
Добавить новое пустое активити SecondActivity в

Создаём второе активитиДобавить новое пустое активити SecondActivity в проект на панели Project:

проект на панели Project:


Слайд 6 Создаём второе активити
Меняем тэг в MainActivity.java
String TAG =

Создаём второе активитиМеняем тэг в MainActivity.javaString TAG =

"FIRST_ACTIVITY";
Обработчик кнопки первого активити:
@Override public void onClick(View view) {

Intent intent = new Intent(this, SecondActivity.class); this.startActivity(intent); }



Слайд 7 Как это работает

Как это работает

Слайд 8 Что такое Intent
Intent (намерение) – это класс, объекты

Что такое IntentIntent (намерение) – это класс, объекты которого используются для

которого используются для взаимодействия между отдельными частями Android-приложения (например,

двумя активити), либо между различными приложениями системы: интенты позволяют отправлять или принимать данные от других активити и сервисов, а также дают возможность оповещать о том, что произошло определённое событие.
https://developer.android.com/reference/android/content/Intent.html


Слайд 9 Создаём второе активити
В класс SecondActivity добавляем поле
String TAG

Создаём второе активитиВ класс SecondActivity добавляем полеString TAG =

= "SECOND_ACTIVITY";
Делаем такие же логи в методах onCreate, onDestroy

и тд.
Запускаем, анализируем происходящее:

Слайд 11 Обмен данными
Передать данные во второе активити




Получить данные во

Обмен даннымиПередать данные во второе активитиПолучить данные во втором активити

втором активити


Слайд 12 Практика
Сделать на втором активити кнопку для возврата на

ПрактикаСделать на втором активити кнопку для возврата на первое активитиПервое активити

первое активити
Первое активити передаёт значение во второе. Второе может

вернуть это значение назад, но значение должно быть на 1 больше полученного
Первое активити должно получать значение от второго активити, и может снова передать его второму активити, но тоже на 1 больше полученного
Выводить в заголовок активити this.hashCode() + "", и попытаться понять, что происходит…

Как отправить объект: http://stackoverflow.com/questions/2139134/how-to-send-an-object-from-one-android-activity-to-another-using-intents


Слайд 13 Нормальный возврат
Новый вызов второго активити

@Override public void onClick(View view)

Нормальный возвратНовый вызов второго активити@Override public void onClick(View view) {

{ Intent intent = new Intent(this, SecondActivity.class); //

явный и. this.startActivityForResult(intent, 1); }

http://startandroid.ru/ru/uroki/vse-uroki-spiskom/68-urok-29-vyzyvaem-activity-i-poluchaem-rezultat-metod-startactivityforresult.html


Слайд 14 Нормальный возврат
Обработчик кнопки второго активити

@Override public void onClick(View view)

Нормальный возвратОбработчик кнопки второго активити@Override public void onClick(View view) {

{ Intent intent = new Intent();
intent.putExtra("smth",

"sometext");
setResult(500, intent);
finish();
}

http://startandroid.ru/ru/uroki/vse-uroki-spiskom/69-urok-30-podrobnee-pro-onactivityresult-zachem-nuzhny-requestcode-i-resultcode.html


Слайд 15 Нормальный возврат
Добавить метод в MainActivity

@Override protected void onActivityResult(int requestCode,

Нормальный возвратДобавить метод в MainActivity@Override protected void onActivityResult(int requestCode, int resultCode,

int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);

String str = data.getStringExtra("smth"); // getSupportActionBar().setTitle(requestCode + " " + resultCode + " " + str); getSupportActionBar().setTitle(this.hashCode()+""); }

Слайд 16 Другое применение интентов
Изменить код обработчика нажатия на кнопку

Другое применение интентовИзменить код обработчика нажатия на кнопку в MainActivity:

в MainActivity:


Слайд 17 Фильтр подходящих приложений
К сожалению, нет простого решения для

Фильтр подходящих приложенийК сожалению, нет простого решения для показа лишь определённых

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

примере по ссылке ниже интентом будут вызваны все приложения, название пакета которых включает сочетание "vk". Как вариант, можно самостоятельно создать кастомный диалог, в котором будет отобранный список нужных приложений. О том, как создать элемент ListView/GridView, заполнить его информацией при помощи BaseAdapter, и разместить это всё в DialogFragment, вы узнаете в следующих занятиях.
https://git.io/vij2b

http://stackoverflow.com/questions/6827407/how-to-customize-share-intent-in-android/9229654#9229654


Слайд 18 EditText
XML-файл разметки MainActivity: https://git.io/vifBR
Java-код класса MainActivity: https://git.io/vifBg

EditTextXML-файл разметки MainActivity:		https://git.io/vifBRJava-код класса MainActivity:	https://git.io/vifBg

Слайд 19 Flashlight v.2

Java-код класса MainActivity:
https://git.io/vifaj
(в XML нужна только одна

Flashlight v.2Java-код класса MainActivity:https://git.io/vifaj(в XML нужна только одна кнопка)

кнопка)


Слайд 20 Результаты

Результаты

Слайд 21 Настройки проекта
Где лежит apk-файл?


Как сделать иконки?
https://resizeappicon.com/

Настройки проектаГде лежит apk-файл?Как сделать иконки?https://resizeappicon.com/

Слайд 22 Настройки проекта
Что делать с иконками?
Онлайн-сервис подготовит все иконки

Настройки проектаЧто делать с иконками?Онлайн-сервис подготовит все иконки нужных размеров. Останется

нужных размеров. Останется только разложить их по подкаталогам папки

mipmap!

Слайд 23 Гугл продвигает круглые иконки

Гугл продвигает круглые иконки

Слайд 24 Практика
Установить иконку для своего приложения.

ПрактикаУстановить иконку для своего приложения.

Слайд 25 Подготовка изображений
ПКМ по папке Drawable > New >

Подготовка изображенийПКМ по папке Drawable > New > Vector > Asset > Choose…

Vector > Asset > Choose…


Слайд 26 Голосовой ввод текста

Голосовой ввод текста

Слайд 27 Голосовой ввод
strings.xml:
https://git.io/viSfV
colors.xml:
https://git.io/viSfi
activity_main.xml:
https://git.io/viSf5
MainActivity.java:
https://git.io/viSfb

Голосовой вводstrings.xml:https://git.io/viSfV colors.xml:https://git.io/viSfi activity_main.xml:https://git.io/viSf5 MainActivity.java:https://git.io/viSfb

  • Имя файла: activity-lifecycle-–-part-2.pptx
  • Количество просмотров: 100
  • Количество скачиваний: 0