Стани Activity
Activity може знаходитися в трьох станах:
– активний (active) – Activity знаходиться на передньому плані екрана мобільного пристрою;
– призупинений (paused) – Activity не має фокусу, але все ще видимо користувачу;
– зупинений (stopped) – Activity повністю закрито іншими
Activity при переході з одного стану в інший отримує повідомлення через захищені методи: onCreate() – при створенні Activity, onRestart() – при відновленні роботи Activity, onStart() – викликається безпосередньо при видимості Activity, onResume() – викликається безпосередньо при початку взаємодії користувача з Activity, onPause() – викликається, коли система намагається запустити інший Activity, onStop() – викликається, коли Activity стає невидимим, onDestroy() – при знищенні Activity. Ці методи можна реалізувати в класі Activity, для того щоб виконати певні дії при зміні стану даного Activity. Наприклад: protected void onPause(){ super.onPause(); … }
4.3 Запуск Activity з використанням об’єктів Intent
Компоненти Android-додатка, в тому числі Activity, запускаються через об’єкти Intent. Це засіб пізнього зв’язування під час виконування між компонентами одного чи декількох додатків. В кожному випадку система Android знаходить відповідний Activity, для того щоб відповісти на Intent та ініціалізує його у випадку необхідності. Об’єкти Intent можна розділити на дві групи:
– явний Intent – визначає цільовий компонент за ім’ям;
– неявний Intent – не називає адресата.
Явний Intent використовують для повідомлень в межах додатку, наприклад, коли один Activity запускає інший Activity із цього додатку.
Неявний Intent використовують для запуску компонентів інших додатків. В файлі маніфесту додатку зазвичай декларується фільтр Intent.
В системі Android всі Activity зберігаються в стеку. Коли один Activity запускає інший, новий Activity розміщається в стек і стає активним Activity. Під час роботи користувача, поточний Activity виштовхується із стеку та його заміщує попередній Activity, який знов відображується на екрані.
4.4 Запуск Activity за допомоги явного об’єкту Intent
Об’єкт Intent являється структурою даних, яка містить абстрактний опис виконуваної операції. Для того щоб викликати інший Activity, в об’єкт Intent треба передати ім’я цього Activity. Ім’я встановлюється методами setComponent(), setClass() або setClassName(). Для запуску Activity, об’єкт Intent передають в метод Context.startActivity(). Цей метод приймає єдиний параметр – об’єкт Intent, який описує Activity, що запускається. Наприклад, викликати Activity з ім’ям NewActivity в коді програми можна наступним чином:
Intent intent = new Intent();
// встановлюємо ім’я викликаємого компоненту
intent.setClass(getApplicationContext(),
NewActivity.class);
// запускаємо компонент
startActivity(intent);
Для того щоб додаток мав змогу бачити другий Activity, необхідно вказати його в файлі маніфесту додатка. Для цього необхідно вибрати в представленні Project Explorer файл AndroidManifest.xml та у відкритому редакторі маніфесту перейдіть на вкладку Application. На панелі Application Nodes натисніть кнопку New та у відкритому діалоговому вікні оберіть елемент Activity. На панелі Application Nodesбуде додано новий вузол Activity. Якщо його виділити, праворуч відобразиться панель із заголовком Attributes for Activity. На цій панелі в строчці Name натисніть кнопку Browse та в відкритому вікні оберіть клас нової Activity (NewActivity). Після цих дій в файлі AndroidManifest.xml з’явиться додатковий елемент <activity> з атрибутом android:name = ”NewActivity”.
Дата добавления: 2014-12-24; просмотров: 848;