АКТИВНОСТІ, НАМІРИ ТА ЗАВДАННЯ – ANDROID ДОДАТКИ

&nbsp

Активність (activity) в Android – це і елемент для взаємодії з користувачем (зазвичай активність цілком займає екран мобільного пристрою з Android), і елемент виконання Коли ви створюєте інтерактивну програму

Android, то починаєте з створення підкласів на основі класу Actіvity Активності надають багаторазові, взаємозамінні елементи робочого циклу компонентів для користувача інтерфейсу в усьому додатку Android

Як у такому випадку одна активність активізує іншу і передає інформацію про те, що має намір робити користувач Комунікаційним блоком є ​​клас Intent (у перекладі з англійської – «намір») Intent представляє абстрактне опис функції, яку одна активність повинна виконати на вимогу іншої, наприклад зробити фотознімок Наміри утворюють основу системи слабкого звязування, яка дозволяє активностям запускати один одного Коли додаток призначає намір, може виникнути ситуація, в якій кілька різних активностей можуть зареєструватися на виконання бажаної операції

Ви вже написали код для активності в тестовому додатку, який ми створювали для перевірки того, чи правильно встановлено комплект Android SDK Давайте знову звернемося до цього коду:

Коли система запускає цю активність, викликається конструктор для TestActivity підкласу Activity, після чого викликається його метод onCreate Таким чином, завантажується і відображається ієрархія видів, описана у файлі mainxml

Клас Activity – це один з найважливіших класів у системі Android Він забезпечує модульність додатків і дозволяє спільно використовувати функції Активність (Activity) взаємодіє з середовищем часу виконання Android для реалізації ключових аспектів життєвого циклу програми Кожна активність також може незалежно конфигурироваться за допомогою класу Context

Кожна активність в додатку Android в цілому не залежить від інших активностей Код, який реалізує одну активність, не займається безпосереднім викликом методів в коді, який реалізує іншу активність Інші елементи фреймворка Android – зокрема, вже згадувані наміри (Intent) – використовуються для управління комунікацією Отже, немає жодних підстав зберігати посилання на обєкти Activity Середа часу виконання Android (Android Runtime Activity), що створює активності, а також керуюча активностями та іншими компонентами додатку, часто повертає використовувану ними память в загальний пул, щоб обмежувати окремі завдання і виділяти на кожну з них відносно невеликий обсяг памяті Можете бути впевнені, що спонтанні спроби керувати памяттю активностей будуть в основному контрпродуктивними

Щоб не було необхідності засновувати управління робочими циклами в інтерфейсі на викликах методів, додатки описують намір (Intent), яке вони хочуть виконати, і запитують у системи знайти підходящий спосіб для цього Додаток Android Home Screen (Домашня сторінка Android) запускає вашу програму, користуючись цими описами, і кожен додаток потім може діяти так ж, застосовуючи підібрані таким чином наміри Розробники Android називають виходить в результаті робочий цикл завданням (task) Завдання – це ланцюг активностей, яка часто може захоплювати більше одного додатка і, звичайно ж, набагато більше одного процесу На рис 33 показана задача, яка поширюється на три додатки і безліч активностей (в табл 31 наводиться приклад) Ланцюг активностей, які складають цю задачу, поширюється на три окремих процесу і на три купи і може існувати незалежно від інших завдань, які, можливо, будуть запускати інші екземпляри підкласів тієї ж активності (класу Activity)

Рис 33 Активності в єдиній завданню, яка поширюється на кілька додатків

Таблиця 31 Приклади єдиного завдання, що складається з активностей, які відносяться до різних додаткам

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*