Какво представляват Android Activities и какъв е техният жизнен цикъл? - Технология
Преминете към съдържанието

Какво представляват Android дейности и какъв е техният жизнен цикъл?

Една от основните концепции при разработването на мобилни приложения е концепцията за активност, те са в основата на приложението, този път ще видим от какво се състоят и какъв е техният жизнен цикъл.

Реклами


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


Вече видяхме, че приложението за Android е съставено от различни графични компоненти или изгледи и в допълнение те имат структура на директория, която позволява на графичния интерфейс да бъде независим от логиката на приложението, екраните се управляват чрез xml файлове, които съдържат оформленията или мениджърите на съдържанието и върху логиката се работи в дейностите, които съответстват на класа активност, има и друга концепция, наречена фрагменти, които живеят в дейностите, но това е нещо, с което ще се занимаваме по-късно.


Класът Activity е един от основните компоненти на приложението. Те са точно основата за изграждане на приложения, тъй като те управляват логиката на системата и това, с което потребителят ще взаимодейства. Приложение за Android започва с екземпляр на дейност, който има определен жизнен цикъл, за да поддържа приложението работещо.


Преди да се потопите в жизнения цикъл, е много важно да изясните, че функционирането на мобилно приложение се различава от функционирането на други приложения, мобилното приложение няма конкретна начална точка, за разлика от настолното приложение, което започва през main( ) метод, приложението може да бъде стартирано от всеки от неговите екрани (това не означава, че не можем да дадем стартова поръчка).


Вътрешно, когато сменяме екрани, това, което се прави, е извикване между дейности (или фрагменти се заменят в една и съща дейност) и когато сменяме между приложения по същия начин, приложението се извиква чрез извикване на първоначалната му дейност.


Приложението обикновено се състои от няколко екрана, което е еквивалентно на наличието на няколко дейности, които комуникират помежду си, въпреки че вече беше споменато, че приложението може да се стартира от всяка дейност, дейността винаги се определя като основна дейност MainActivity ( въпреки че не трябва непременно да бъде първият, който се показва) и оттам маркирайте началната точка за навигация в системата чрез извикване на нови дейности или фрагменти.

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


В предишен запис говорихме за манифестния файл, това е конфигурационен файл, който ви позволява да параметризирате основните елементи на приложението, тук ще намерите информация като ID на приложението, името, иконата, дейностите, които съдържа, разрешенията, наред с други важни елементи.



Когато се създаде дейност, 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.

И това е всичко, с това виждаме от какво се състоят дейностите и как можем да контролираме жизнения цикъл, след което можем да продължим да работим върху основното приложение.

Може също да ви заинтересува.




Има ли нещо, което искате да добавите или коментирате за този запис? чувствайте се свободни да правите....И ако ви е харесало... каня ви да споделите г Абонирайте се, като щракнете върху бутона „Присъединете се към този сайт“, за да чуете повече публикации като тази 😉