අද පාඩමෙන් මම කරන්නේ Android Activity-Lifecycle ගැන..මේ පාඩම ඉදිරියට ගොඩක් වැදගත් වෙන නිසා හොඳ අවධානයකින් අද පාඩම බලන්න වෙනවා...මුලින්ම බලමු Android වලදී අපි ගොඩක් වෙලාවට කතා කරන Activity එකක් කියන්නේ මොකද්ද කියලා.. ඒත් Activity ගැන ඔයාලට යම් අවබෝධයක් දැනටමත් තියනවා…මේ පාඩමෙන් ඒ ගැන තවදුරටත් මම පැහැදිලි කරන්නම්…
Activity එකක් Android Application එකක මූලික component එකක් කියලා ඔයාලා දන්නවා.
Activity class එක මඟින් අපි නිර්මාණය කරන UI(User Interface) එකට window එකක් create කරලා දෙනවා.(මෙහිදි setContentView(View) method එක use කරනවා.)මෙම activities හැම එකක්ම user සමඟ interact වෙනවා.
Website එකක් ගත්තොත් webpages ගොඩක් ඒ තුළ තියනවනේ.අන්න ඒ වගේ application එකක තියන user interface වලින් එක screen එකක් තමයි Activity එකක් කියන්නේ.Android application එකක් ගත්තොත් ඒක හැදිලා තියන්නේ එකිනෙක සම්බන්ධ වන ලෙස සෑදුනු Activity ගොඩක එකතුවකින්.ඒ වගේම ඔිනෑම application එකක් open කරනකොට launch වෙන single Activity එකක් තියනවා.(app එක start වෙනකොට අපිට පේන්න තියන screen එක).
User කෙනෙක් ලබාදෙන interaction(clicks) වලට response එකක් විදිහට වෙනත් activity එකක් ආරම්භ කිරීමේ හැකියාව මෙම launcher activity(ආරම්භක activity) එකට තියනවා.
උදාහණයක් ලෙස Facebook Lite android application එකේ පහත දැක්වෙන එකිනෙකට වෙනස් screen දෙක දිහා බලන විට, මෙම screen දෙක එකිනෙකා සමඟ සම්බන්ධ වෙන විදිහ සහ ඒවා තුළ කරන click කිරීම් වලට respond දක්වන විදිහ බලාගන්න පුලුවන්.

Android Activity Lifecycle
දැන් ඔයලා දන්නවා Activity එකක් කියන්නේ user interaction වලට response කරන single screen එකක් කියලා.හොඳයි එහෙනම් ඔයාලා මෙහෙම දෙයක් හිතන්නකෝ..ඔයා application එකක් start කරනකොට Activity-A කියලා කලින් හදපු Activity එකක් visible වෙනවා.දැන් Activity-A මත තියන ඕනෑම button එකක් click කරාම අලුත් Activity-B කියලා Activity එකක් පේන්න තියනවා. ඒ වගේම කලින් තිබුන Activity-A තවදුරටත් visible වෙන්නේ නැහැ.
දැන් application එක close කරාම Activity A සහ Activity B යන දෙකම destroy වෙලා යනවා. ඒ කියන්නේ activities දෙක නැති වෙලා යනවා.
ඒ අනුව මූලිකවම Activity-A පහත සඳහන් states හරහා තමයි ගිහින් තියන්නේ…
Created => Visible => Invisible => Destroyed
Activity එකක් තුළ මෙම states represent කරන්නේ multiple callback methods විදිහට .ඒ කියන්නේ method කිහිපයකට එකපාර call කරනවා.මෙම Activity එකට අදාළ lifecycle එක තුළ තියන corresponding state එක හරහා Activity එක ක්රියාත්මක වීමක් සිදු වෙනවා.
Activity Life Cycle එක තුළ පහත දැක්වෙන methods තියනවා.
- onCreate()
- onStart()
- onRestart()
- onResume()
- onPause()
- onStop()
- onDestroy()
Activity Life Cycle එක තුළ වෙන්නේ මොක්කද කියලා තේරුම් ගන්න පුලුවන් ආකාරයේ diagram, Internet search කරලා බැලුවොත් ඔිනි තරම් තියනවා විස්තරත් එක්ක.ඒ වගේම පහළින් තියන රූපයෙන් ඒ ගැන සරල අදහසක් ඔයාලට ගන්න පුලුවන්.
දැන් මම ඉහතින් සඳහන් කරපු methods ගැන පැහැදිලි කරන්නම්.
onCreate()
පළමු වරට Activity එකක් create වෙනකොට activity එක මඟින් ලබා ගන්නා පළවෙනි callback method එක ලෙස මෙය හඳුන්වන්න පුලුවන්. Activity එක සමඟ User Interfaces bind කරන්නේ මේ method එකෙන් .ඒ වගේම කලින් activities වල states තියන bundle එකක් ලබා දෙනවා.
onStart()
මෙම method එක මඟින් activity එක ආරම්භ කරන ලද අවස්ථාවට ඇතුල් වී ඇති බව පෙන්නුම් කරනවා.මේ තුළින් activity එක visible වුනත් user ලබාදෙන interacts වලට response කරන්නේ නැහැ.
onRestart()
දැනට run වෙමින් තියන activity එකක් නතර කර ඇති අවස්ථාවක එය නැවත start කිරීමට අවශ්ය වූ විට මෙම method එකට call කරනවා.
onResume()
App එක run වෙන අවස්ථාවක මෙම method එක call කරනවා.මෙහිදී app එකේ activity සමඟ interact කරන්න user ට හැකියාව තියනවා.
OnPause()
සාමාන්යයෙන් Phone එකේ app එකක් open කරලා තියන අවස්ථාවක දුරකථන ඇමතුමක් ආවොත් හරි message එකක් යවන්න ඔිනි වුනොත් හරි app එකේ screen එක minimize කරනවා නේ.මෙහිදී මූලිකවම සිදුවෙන්නේ activity එක සම්පූර්ණයෙන් close නොවී memory එක තුළ store වීමක් .ඒ අනුව මෙම ක්රියාවලිය සිදු කිරීමට OnPause() method එක යොදාගන්නවා.
onStop()
Application එක screen එක මත තවදුරටත් දර්ශණය නොවීමට අවශ්ය වූ අවස්ථාවක මෙම method එකට call වීමක් සිදුවෙනවා.
onDestroy()
Application එක සම්පූර්ණයෙන් close කිරීමකදී මෙම method එකට call වීම සිදුවෙනවා.
- Activity එකක් පළවෙනි වතාවට start වෙනකොට පහත දැක්වෙන methods call වෙනවා.
- onCreate()
- onStart()
- onResume()
- activity එකේ Back button එක click කිරීමක් හෝ activity එක close කිරීමක් සිදු කරන විට පහත දැක්වෙන methods වලට call කරනවා.
- onPause()
- onStop()
- onDestroy()
- Home button එක click කරන විට open වෙලා තියන activity minimize වෙනවා කියලා ඔයාලා දන්නවා.මෙහිදී පහත දැක්වෙනmethods වලට call වීම සිදු වෙනවා.
- onPause()
- onStop()
- අාපසු Home button එක click කරලා previous activity එක open කරන විට පහත දැක්වෙන methods වලට call වීම සිදු වෙනවා.
- onRestart()
- onStart()
- onDestroy()
අද පාඩමට අදාළව කතා කරපු methods භාවිතා වෙන්නේ කොහොමද කියලා ඉදිරියට කරන පාඩමකින් මම කියලා දෙන්නම්.මේ පාඩමෙන් ඔයාලට නොතේරුණු දෙයක් තියනවා නම් අහන්න පුලුවන්.
No comments:
Post a Comment