ایجاد فعالیت در اندروید استودیو چگونه است؟

در این پست از آموزش های برنامه نویسی اندروید می خواهیم شما را با فعالیت اندروید (Android Activity) و نحوه ایجاد اکتیویتی در اندروید استودیو و همچنین چرخه حیات فعالیت در اندروید آشنا کنیم. پس با الکامکو همراه باشید.فعالیت اندروید چیست و چه کاربردی در سیستم عامل اندروید دارد؟فعالیت اندروید که در آموزش برنامه نویسی اندروید با نام اکتیویتی اندروید یا اندروید اکتیویتی (Android Activity) نیز شناخته می شود، نوعی فرایند است که در سیستم عامل اندروید به صورت مرحله ای انجام می شود و دارای چرخه حیات است که همگی دست به دست هم می دهند تا کاربر بتواند هنگام کار با اپلیکیشن از صفحه ای به صفحه ای دیگر برود.مثلا وقتی کاربر در حال کار با کافه بازار است ولی یدفعه به گوشی وی تماسی هم گرفته می شود؛ در این صورت کاربر باید تماس را پاسخ دهد و از صفحه کافه بازار به صفحه مربوط به تماس می رود و در این بین چرخه حیات فعالیت کار خودش را انجام می دهد تا سیستم عامل بتواند این ارتباطات را پاسخگو باشد.نحوه ایجاد فعالیت در اندروید استودیو چگونه است؟ما فعالیت جدیدی در اندروید استودیو (Android Studio) ایجاد می کنیم تا فایل XML را برای طراحی کد نویسی UI و java ایجاد کنیم. در زیر مراحل ایجاد فعالیت جدید در Android Studio آمده است:مرحله 1 ایجاد فعالیت در اندروید استودیو : ابتدا به مسیر app > res > layout بروید و روی گزینه layout راست کلیک کنید. پس از آن New> Activity را انتخاب کنید. در این قسمت می توانید طبق نیاز خود فعالیت اندرویدی (اکتیویتی اندروید) خود را انتخاب کنید. ولی ما می خواهیم یک فعالیت اندروید جدید ایجاد کنیم پس در اینجا اکتیویتی Blank Activity را مطابق شکل زیر انتخاب کنید.مرحله 2 ایجاد فعالیت در اندروید استودیو : در این مرحله می خواهیم فعالیت اندروید را سفارشی سازی کنیم. برای اینکار نام فعالیت را در قسمت “Activity Name” و نام بسته (نام پکیج اندروید) را در “Package name” وارد کنید و روی دکمه “ّFinish” کلیک کنید.مرحله 3 ایجاد فعالیت در اندروید استودیو : پس از زدن دکمه “ّFinish”، فعالیت جدید شما در Layout ایجاد می شود. کد XML شما در “Text” است و خروجی طراحی شما در “Design” نمایش داده می شود.چرخه حیات اکتیویتی در برنامه نویسی اندرویدچرخه حیات فعالیت اندروید (Android Activity Lifecycle) یکی از بلوک های اصلی سیستم عامل اندروید است. به عبارت ساده اکتیویتی، صفحه ای در اندروید است که کاربر با آن تعامل دارد. هر فعالیتی در اندروید استودیو دارای هفت چرخه حیات created, started, resumed, paused, stopped, destroyed است. این حالت های مختلف به عنوان چرخهِ زندگیِ Activity شناخته می شوند. به عبارت دیگر می توان گفت فعالیت یک کلاس است که از قبل در برنامه نویسی جاوا نوشته شده است.لیست فرایند ها در چرخه فعالیت اندروید :شرح کوتاهی از هفت فرآیند در چرخه حیات یک فعالت اندروید (Android Activity Lifecycle) عبارتند از:()onCreate : هنگامی که فعالیت برای اولین بار ایجاد می شود ، فراخوانی می شود.() : هنگامی که فعالیت شروع می شود و برای کاربر قابل مشاهده می شود، فراخوانی می گردد.() : هنگامی که فعالیت شروع به تعامل با کاربر می نماید ، فراخوانی می شود. دریافت ورودی کاربر در این مرحله انجام می شود.() : هنگامی که فعالیت در پس زمینه اجرا می شود ، و هنوز به اتمام نرسیده است، فراخوانی می گردد.() : زمانی فراخوانی می شود که فعالیت برای مدت طولانی برای کاربر قابل مشاهده نباشد.()onRestart : پس از این که فعالیت متوقف شده باشد ، قبل از شروع مجدد آن ، فراخوانی می گردد. معمولاً زمانی که یک کاربر به یک فعالیت قبلی باز می گردد که متوقف شده بود ، فراخوانی می شود.()onDestroy : این آخرین فراخوانی است که قبل از این که فعالیت از حافظه حذف شود، صورت می پذیرد.نمودار زیر چرخه فعالیت های اندروید را نشان می دهد:انواع مختلف فعالیت های فعالیت های چرخه عمر:فعالیت اندروید که با نام های چرخه عمر یا چرخه حیات فعالیت نیز شناخته می شود حالتهای مختلفی دارد ولی قرار نیست بخواهید در برنامه خود از همه این متدها استفاده کنید، اما درک آنها برای شما به عنوان یک برنامه نویس اندروید بسیار مهم است. پس در اینجا حالت های مختلف چرخه حیات فعالیت های اندروید را بررسی می کنیم.لیستی از حالتها یا روش های چرخه حیات فعالیت های اندروید در اندروید استودیو :(Activity Created: onCreate(Bundle savedInstanceState:هنگامی که اکتیویتی حافظه را در سیستم عامل بدست می آورد، روش ()onCreate نامیده می شود.برای استفاده از حالت create،نیاز داریم تا روش(onCreate (Bundle saveInstanceState را لغو کنیم. اکنون این سؤال را در ذهن خواهید داشت که Bundle در اینجا چیه؟ در جواب به این سوال باید بگوییم که Bundle یک شیء مخزن داده است که می تواند هر نوع داده اولیه را ذخیره کند و تا زمانی که برخی از داده ها در آن ذخیره نشوند، این شیء خالی خواهد بود.هنگامی که یک فعالیتی در اندروید برای اولین بار فراخوانی می شود یا راه اندازی می شود، روش (onCreate (Bundle saveInhentState وظیفه ایجاد فعالیت را دارد.هنگامی که جهت گیری فعالیت (به عنوان مثال از افقی به عمودی یا عمودی به افقی) تغییر می کند یا وقتی یک فعالیت به زور توسط سیستم عامل خاتمه می یابد، آنوقت از آن استفاده می شود.بهترین مکان برای قرار دادن کد اولیه است.()Activity Started: :بلافاصله پس از ایجاد فعالیت، روش () فراخوانی می شود. در حالت دیگر، فعالیت با راه اندازی مجدد روش یعنی بعد از توقف فعالیت نیز می تواند شروع شود. بنابراین این بدان معنی است که وقتی کاربر بین برنامه ها جابجا شود، () توسط سیستم عامل اندروید فراخوانی می شود.به عنوان مثال ، اگر کاربر از برنامه A استفاده می کرد و سپس یک اعلان می آید و کاربر روی اعلان کلیک می کند و به برنامه B منتقل می شود، در این حالت برنامه A متوقف می شود. و دوباره اگر کاربر دوباره روی آیکن برنامه برنامه A کلیک کند، دوباره برنامه A که متوقف شد شروع می شود.()Activity Resumed: :وقتی فعالیت برای کاربر قابل مشاهده است ارتباط برقرار می شود و کاربر می تواند با آن تعامل برقرار کند. این متد در چرخه حیات فعالیت، همیشه بعد از () فراخوانی می شود و بعد با () متوقف می شود.()Activity Paused: :هنگامی فراخوانی می شود که محتوای فعالیت قابل مشاهده نباشد زیرا کاربر فعالیت قبلی را از سر می گیرد و وقتی کاربر دکمه Home (دکمه اصلی روی دستگاه) را فشار دهد تا مخفی شود.فعالیت همچنین قبل از Pause شدن توسط فشار دکمه ناوبری Back توسط کاربر متوقف می شود. این فعالیت به همین دلایل متوقف می شود در صورتی که یک اعلان یا گفتگوی دیگری قسمت دیگری از قسمت (بالا یا پایین) فعالیت (صفحه) را پوشش دهد.به طور مشابه ، اگر صفحه نمایش گوشی در حالت شفاف (transparent) باشد، کاربر می تواند صفحه را مشاهده کند اما نمی تواند با آن تعامل برقرار کند. به عنوان مثال ، اگر تماسی گرفته شود یا نوتیفیکیشنی وارد گوشی شود، کاربر می تواند تماس را قبول کند یا آن را نادیده بگیرد.()Activity Stopped: :هنگامی فراخوانی می شود که فعالیت برای کاربر قابل مشاهده نیست زیرا فعالیت دیگری در آن صورت می گیرد.به عنوان مثال ، اگر کاربر روی صفحه 1 بود و بر روی دکمه ای کلیک کرد، به صفحه 2 می رود. در این حالت اکتیویتی که محتوای صفحه 1 را نمایس می داد متوقف می شود.()Activity Restarted: onRestart:وقتی کاربر روی صفحه ظاهر می شود یا فعالیتی را که متوقف شده بود از سر گرفته می شود. به عبارت دیگر ، هنگام شروع سیستم عامل، فعالیت برای اولین بار حالت ()onRestart هرگز فراخوانی نمی شود. تنها در مواردی که فعالیت پس از پایان وضعیت از سر گرفته شود، فراخوانی می شود.()Activity Destroyed: onDestroy:هنگامی که فعالیت در پس زمینه نیست، فراخوانی می شود. این اتفاق در صورتی می افتد که کاربر دکمه اصلی را فشار دهد و برنامه به پس زمینه سوئیچ کند. کاربر دیگر از آن استفاده نمی کند و در لیست برنامه های اخیر نشان داده می شود. بنابراین در این حالت اگر منابع مورد نیاز سیستم نیاز به استفاده در جایی دیگر داشته باشند ، سیستم عامل می تواند Activity را از بین ببرد.اگر کاربر دوباره بر روی آیکن برنامه کلیک کند، اکتیویتی را از بین می برد، در این حالت فعالیت دوباره ایجاد می شود و دوباره همان چرخه زندگی را دنبال می کند.ادامه مقاله در لینک زیر دنبال کنید : مثالی از چرخه فعالیت اندروید : همراه با کدنویسی را اینجا دنبال کنید.