Воскресенье, 24.11.2024, 18:27
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Программирование мобильных устройств (часть 2) Задание 2
engineerklubДата: Четверг, 24.08.2023, 05:55 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Репутация: 0
Статус: Offline
Программирование мобильных устройств (часть 2) Задание 2 

Тип работы: Работа Лабораторная
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Задание 2:
Создайте приложение из трех классов (Условно: A, B и С).
Из класса А запускаются классы В и С, по завершению своей работы классы В и С возвращают строку в класс А, которая выводится на экран.

Интерфейс класса А содержит:
Элемент RadioButton определяющий запускаемый класс (В или С).
Кнопку которая непосредственно запускает выбранный класс.
Тектовое поле результатов запука, которая содержит надпись о том какой класс был ранее вызван и какую строку он возвратил.

Из класса A по нажатию кнопки вызывается класс В или С в зависимости от выбора RadioButton. Классы В и С каждый имеют тектовое поле для ввода строки (которая будет возварщена в класс А) и одну кнопку, которая завершает работу данного класса работу и возвращается в класс А.
Намерение
Класс Intent представляет собой объект обмена сообщениями, с помощью которого можно запросить выполнение действия у компонента другого приложения.
Несмотря на то, что объекты Intent упрощают обмен данными между компонентами по нескольким аспектам, в основном они используются для запуска операции:
Компонент Activity представляет собой один экран в приложении. Для запуска нового экземпляра компонента Activity необходимо передать объект Intent методу startActivity().
Объект Intent описывает операцию, которую требуется запустить, а также содержит все остальные необходимые данные.
Если после завершения операции от нее требуется получить результат, вызовите метод startActivityForResult(). Ваша операция получит результат в виде отдельного объекта Intent в обратном вызове метода onActivityResult() операции.

Для коректного запуска классов В и С необходимо добавить в файл AndroidManifest.xml следующие разрешения (в раздел Application). Если этого не сделать, то при попытке вызова указанных классов может сгенерироваться ошибка.

<activity android:name=".B"></activity>
<activity android:name=".C"></activity>

Элементы кода
Запуск и ожидание результата
Intent intent = new Intent(this, B.class);//Создается намерение запустить класс
startActivityForResult(intent, 1);//Намерение отправляется в операционную систему

Здесь "B" - название запускаемого класса, число "1" номер вызова который будет возвращен в onActivityResult как параметр requestCode. По этому номеру можно будет понять какой класс возвратил ответ.
В основном классе (классе A) нужно добавить обработчик

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {return;} // если намерение не возвратилось, то выходим
String str = data.getStringExtra("MyString");//Извлекаем переданную строку MyString
tvName.setText("Returned string:" + str);//Выводим строку на экран
}

Завершение класса и возврат в вызываемый класс:
Это пишется в классе B и С.

Intent intent = new Intent(); //Создается класс намерения
intent.putExtra("MyString", etName.getText().toString()); //заполняем намерение одной строкой
setResult(RESULT_OK, intent); //добавляем в намерение параметр, означающий успешность окончания работы вызванного класса
finish(); // завершаем работу класса и возвращаемся в дочерний класс

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru