2.4.1 Белсенділік (Activities) Әрекет-графикалық пайдаланушы интерфейсін тасымалдайтын терезе. Әрекет терезесі әдетте құрылғының бүкіл экранын алады, бірақ мөлдір немесе өзгермелі диалогтық терезелер жасауға әбден болады. Мобильді қосымшалар әдетте көп терезелі болып табылады, яғни әр терезеге Бір-бірден бірнеше әрекеттен тұрады. Әрекеттердің бірі "үй" ретінде анықталады және оны қолданушы қолданбаны алғаш іске қосқан кезде көреді. Әрбір қолданба экраны activity сыныбының мұрагері болып табылады. Белсенділікті құру үшін activity класының мұрагері класын тікелей немесе оның кез-келген ұрпағы арқылы құру қажет. Бұл сыныпта белсенділіктің өмірлік циклін басқару үшін жүйе шақыратын барлық әдістерді енгізу қажет. Мұндай жеті әдіс бар:
ОnСreate () - белсенділікті құру кезінде жүйе шақыратын әдіс. Әдісті іске асыруда белсенділіктің негізгі компоненттерін инициализациялау қажет және көп жағдайда тиісті XML орналасу файлын (layout file) қосу үшін setContentView () әдісін шақыру қажет. Әдісінен кейінoncreate() әрқашан onStart () әдісі шақырылады. onRestart () - жүйе қажет болған жағдайда тоқтатылған әрекетті іске қосатын әдіс. Осы әдістен кейін әрқашан metodonstart () шақырылады.
ОnStart () - белсенділік пайдаланушыға көрінбестен бұрын жүйе шақыратын әдіс. Осы әдістен кейін шақырылады onresume ().
Оntresume () - белсенділік пайдаланушымен әрекеттесе бастағанға дейін жүйе шақыратын әдіс. Осы әдіспен әрдайым onPause () деп аталады. onPause () - фокус белсенділігін жоғалтқан кезде жүйе шақыратын әдіс. Бұл әдіс ағымдағы сессиядан тыс сақталуы керек барлық өзгерістерді жазуы керек. Осы әдістен кейін белсенділік алдыңғы қатарға оралса, entresume () немесе белсенділік пайдаланушыдан жасырылған болса, onStop () шақырылады.
onStop () - әрекет пайдаланушыға көрінбейтін болған кезде жүйе шақыратын әдіс. Осы әдістен кейін белсенділік пайдаланушының өзара әрекеттесуіне оралса, onRestart () немесе белсенділік жойылса, onDestroy () шақырылады. onDestroy () - белсенділікті жоймас бұрын жүйе шақыратын әдіс. Бұл әдіс белсенділік аяқталған кезде немесе жүйе ресурстарды босату үшін белсенділікті жойған кезде шақырылады. Бұл екі сценарийді isFinishing () әдісі арқылы ажыратуға болады. Бұл белсенділікті қабылдай алатын соңғы сынақ.
Сурет. 2.4. Белсенділіктің өмірлік циклі
(көзі:
http://developer.android.com/guide/components/activities.html). жоғарыда аталған әдістерді жүзеге асырған кезде, ең алдымен, ата-бабаның тиісті әдісін шақыру қажет. Қарастырылған әдістер белсенділіктің өмірлік циклін анықтайды.
Суретте. 3.4 белсенділіктің бір күйден екінші күйге өту жолдарын көруге болады. Тіктөртбұрыштар белсенділік күйлері өзгерген кезде пайда болатын әдістерді көрсетеді. Шын мәнінде белсенділік үш жағдайдың бірінде болуы мүмкін:
* Орындалады (жүгіру). Белсенділік алдыңғы қатарда және кіріс фокусын сақтайды. Егер сіз күрішті мұқият қарастырсаңыз. 3.4 бұл күйге белсенділік 30 onResume () әдісін шақырғаннан кейін түсетінін байқауға болады. Белсенділік осы күйде болған кезде оның процесін жүйе жоя алмайды.
• Тоқтатылды.Белсенділік ішінара көрінеді, бірақ енгізу фокусы жоғалады. Бұл күйге белсенділік onPause () әдісін шақырғаннан кейін түседі ( сурет. 3.4). Бұл жағдайда белсенділік "жауынгерлік дайындықта" сақталады, яғни кез-келген уақытта енгізу фокусын алып, белсенді бола алады. Алайда, бұл жағдайда белсенділік процесі жүйемен жойылуы мүмкін, егер жад жетіспесе.
* Тоқтатылды. Белсенділік мүлдем көрінбейді. Бұл күйге белсенділік onStop () әдісін шақырғаннан кейін түседі( сурет. 3.4). Бұл жағдайда белсенділік "өмірге шақырылуы" мүмкін, ол барлық күйлерді және қалпына келтіру үшін қажетті ақпаратты сақтайды, бірақ жад басқа мақсаттарға қажет болса, белсенділік процесі жойылуы мүмкін.