Вопросы:
1.
Разработку под какие типы устройств поддерживает IDEAndroidStudio?
2.
Перечислите все основные файлы проекта, созданного по умолчанию.
3.
Каким образом возможно добавление сторонней библиотеки в
разрабатываемоеприложение?
4.
Что такое apk-файл? Как егополучить?
Лабораторная работа 3. Жизненный цикл Activity
Как мы рассматривали выше, одним из ключевых компонентов системы
Android является компонент Activity. Жизненный цикл этого компонента
контролируется операционной системой Android, а сам компонент взаимодействует
с
пользователем посредством графического интерфейса. Например, если
пользователь в определенный момент времени работает с каким-либо окном в
приложении, этому окну система Android присваивает наивысший приоритет, и
наоборот, если пользователь перевел приложение в режим бэкграунд и не
использует его, система решает, что приложение необходимо остановить, чтобы
выделить дополнительные ресурсы для других активных приложений. В общем
случае жизненный цикл Activity представлен на рис.3.1.
46
Рис. 3.1.
Жизненный цикл
Activity
Список основных методов, определяющих жизненный цикл Activity,
следующий:
47
protected voidonCreate();
protected voidonStart();
protected voidonRestart();
protected voidonResume();
protected voidonPause();
protected voidonStop();
protected voidonDestroy().
Метод onCreate() всегда вызывается при создании и перезапуске Activity (рис.
3.2). Нотация @Override обозначает, что переопределяется стандартный метод
класса Activity.class. Внутри этого метода интерфейс связывается с классом Activity
посредством метода setConetentView(). Этот метод принимает в параметре объект
Bundle, содержащий текущее состояние пользовательского интерфейса,
сохраненное при последнем вы- зове обработчика onSavedInstanceState. Также
инициализируются статическиеданные.
@Override
public
void
onCreate()
{
super.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main
);
}
Рис. 3.2.
Пример переопределения метода
onCreate()
Метод onStart() запускается при старте Activity вслед за методом onCreate(),
но не всегда, поскольку метод onStart() также вызывается при возобновлении
работы приложения после того, как оно было остановлено. При остановке
вызывается метод onStop(), это происходит в момент скрытия активности,
например, когда открывается другое приложение.
Метод onResume() вызывается после метода onStart(), когда окно отображается
на экране и пользователь может с ним взаимодействовать посредством графического
интерфейса. Происходит инициализация переменной mConnect, которая
устанавливает соединение с каким-либо устройством (рис. 3.3). Предположительно
48
это соединение было закрыто в методе onPause().
@Override
publicvoidonResume() { super.onResume();
if (mConnect == null) { conectDevice();
}
}
Метод onPause() вызывается, если открывается новаяActivity, а текущая
помещается в стек неактивных. В этом методе необходимо высвободить ресурсы,
занятые текущей активностью – выключить камеру, остановить воспроизведение
потокового видео и т. д. Также важно в этом методе размещать быстрый
легковесный код, в противном случае, если, например, при вызове данного метода
осуществлять запись в БД каких- либо больших данных, процесс перехода к другой
активности будет за- медлен, что негативно скажется на отзывчивости
программного интерфейса.
Метод onStop() вызывается, когда окно становится невидимым пользователю.
Это произойдет в том случае, если была запущена другая активность. В этом
методе можно размещать операции, которые требуют длительного времени на
выполнение, например, обновление пользовательского интерфейса, чтение
показаний датчика GPS. При нехватке памяти система Android может сама
уничтожить скрытуюActivity, минуя метод onStop() с вызовом методаonDestroy().
Метод onRestart() вызывается в тот момент, когда окно возвращается в
приоритетный режим после вызова метода onStop(). Т. е. в момент, когда
активность была остановлена и снова запущена. Метод onRestart() предшествует
вызову метода onStart(). Данный метод можно использовать при повторном вызове
активности
для
восстановления
ее
параметров
и
элементов
пользовательскогоинтерфейса.
Метод onDestroy() вызывается по окончании работы Activity посредством
вызова метода finish() либо в момент уничтожения экземпляра активности
системой Android.
Рассмотрим пример, представленный в прил. В. Необходимо создать новый
49
проект и добавить в него два файла: MainActivity.java и activity_ main.xml. При
запуске и остановке приложения нужно следить за консолью, в которую
переопределенные методы будут писать сообщения (см. таблицу).
Достарыңызбен бөлісу: |