Що таке Android Activities і який їх життєвий цикл? - Технологія
Перейти до вмісту

Що таке діяльність Android і який життєвий цикл?

Однією з основних концепцій у розробці мобільних додатків є концепція активності, яка є основою програми, цього разу ми побачимо, з чого вони складаються та який їхній життєвий цикл.

Оголошення


На офіційній сторінці розробника Android ми можемо знайти більш детальне пояснення того, що представляють собою дії (https://developer.android.com/guide/components/activities/intro-activities) тут ми побачимо загальні відомості про них та їхній життєвий цикл.


Ми вже бачили, що програма Android складається з різних графічних компонентів або представлень, і, крім того, вони мають структуру каталогів, яка дозволяє графічному інтерфейсу бути незалежним від логіки програми, екрани керуються через файли xml, які містять макети або менеджери контенту, а логіка працює в Activities, які відповідають класу Activity, також існує ще одна концепція, яка називається фрагментами, які живуть у діяльності, але це те, що ми розглянемо пізніше.


Клас Activity є одним із основних компонентів програми. Саме вони є основою для створення програм, оскільки вони керують логікою системи та тим, з чим взаємодіятиме користувач. Додаток Android починається з екземпляра Activity, який має визначений життєвий цикл, щоб підтримувати роботу програми.


Перш ніж занурюватися в життєвий цикл, дуже важливо чітко пояснити, що мобільний додаток працює по-різному від того, як працюють інші додатки, мобільний додаток не має конкретної початкової точки, на відміну від настільного додатка, який запускається через метод main(), програму можна запустити з будь-якого її екрану (це не означає, що ми не можемо дати порядок запуску).


Внутрішньо, коли ми змінюємо екрани, те, що робиться, є викликом між діями (або фрагменти замінюються в тій самій активності), і коли ми переходимо між програмами таким же чином, програма викликається шляхом виклику своєї початкової активності.


Програма зазвичай складається з кількох екранів, що еквівалентно наявності кількох дій, які взаємодіють між собою, хоча вже згадувалося, що програму можна запустити з будь-якої активності, діяльність завжди визначається як основна діяльність MainActivity (хоча не обов’язково має відображатися першим) і звідти позначити початкову точку для навігації в системі, викликаючи нові дії або фрагменти.

Файл маніфесту (AndroidManifest.xml)


У попередньому записі ми говорили про файл маніфесту, це файл конфігурації, який дозволяє параметризувати основні елементи програми, тут ви знайдете таку інформацію, як ідентифікатор програми, ім’я, значок, дії, які він містить, дозволи, серед інших важливих елементів.



Коли активність створюється, androidStudio автоматично піклується про її параметризацію у файлі AndroidManifest.xml, і туди ви також можете додати фільтри або властивості, щоб визначити додаткові дії програми, наприклад, на попередньому зображенні ви бачите, що MainActivity є основна система діяльності (та, що показана першою) з моменту додається до нього разом із властивістю <action android:name="android.intent.action.MAIN" />

Життєвий цикл діяльності.


Дія проходить через кілька станів під час свого виконання, ці стани відбуваються через взаємодію користувача з діяльністю, наприклад, коли вона входить, виходить, входить знову або коли вона закрита, android дозволяє нам контролювати кожен із цих станів за допомогою серії визначених методи, які ми можемо застосувати для керування поведінкою, наприклад, ви можете призупинити відеопрогравач під час зміни екрана або скасувати процеси з’єднання під час виходу з програми, на сторінці розробника Android ми знайдемо деталі цих методів (там ми також можемо знайти наступна схема, яка показує, як це працює:


Ось короткий виклад кожного із станів:


  • onCreate()

    Цей метод створюється за замовчуванням у дії та активується, коли він починає посилатися на макет, що відповідає графічній частині, через метод setContentView(), це перший метод, який виконується.

  • onStart()

    Коли onCreate() закривається, активність змінює свій стан зі створеного на запущений і представляється користувачеві, саме тут перегляд і активність стають інтерактивними.

  • Коротко()

    Після запуску активності змінюється стан onResume(), який відповідає за обробку інформації про взаємодію користувача, тут розпізнається та фіксується все, що вводить користувач.

  • onPause()

    Якщо дія втрачає фокус і її переривають, викликається стан паузи, наприклад, коли користувач натискає кнопку «Назад» або змінює екран, це означає, що діяльність усе ще частково видима, поки її закривають.

    З цього стану ви можете знову повернутися до onResume() або onStop()

  • onStop()

    Цей стан починається, коли активність більше не відображається для користувача, це може бути тому, що дію було видалено, зупинена активація повторно або починається нова, у цьому випадку зупинену дію більше не видно для користувача. користувача, звідси ви можете викликати onRestart() або onDestroy()

  • onRestart()

    Система переходить у цей стан, коли зупинену діяльність буде розпочато знову, тут стан активності відновлюється з моменту її зупинки та виклику onStart().

  • onDestroy()

    Нарешті, система викликає цей метод перед видаленням дії. Це останній стан, через який проходить діяльність і реалізується, коли має бути гарантовано закриття або звільнення всіх ресурсів діяльності.


Ці методи можуть бути реалізовані в проекті наступним чином:


Тож під час запуску програми ми побачимо поведінку в logcat.

І це все, з цим ми бачимо, з чого складаються дії та як ми можемо контролювати життєвий цикл, тоді ми можемо продовжити роботу над базовою програмою.

Це також може вас зацікавити.




Ви хочете щось додати або прокоментувати до цього запису? не соромтеся робити....І якщо вам сподобалося... Запрошую поділитися Ю Підпишіться, натиснувши кнопку «Приєднатися до цього сайту», щоб почути більше подібних дописів 😉