اکتیویتی ها در اندروید ( Android activity )

یکی از اجزای اساسی توسعه‌ی برنامه نویسی در اندروید، اکتیویتی ( Activity ) است. هر اکتیویتی یک صفحه‌ی دارای رابط کاربری است. ContextThemeWrapper سوپر کلاسِ اکتویتی اندروید است.

ساختار یک برنامه‌ی اندروید مانند یک برنامه‌ی C++ یا جاوا نشوته شده است. یک اکتیویتی با کاربر تعامل دارد و بنابراین یک پنجره برای قرار دادن اجزای واسط کاربری می سازد. هر برنامه‌ی اندرویدی می تواند شامل اکتویتی باشد که به معنای در تعامل بودن صفحات مختلف برنامه با یکدیگر است.

چرخه عمر اکتیویتی ( Activity life cycle )
هر اکتیویتی دارای یک چرخه حیات منحصر به خود، در طی اجرای برنامه است. اکتیویتی ها درون پشته‌ی اکتیویتی ( Stack Activity ) ذخیره و مدیریت می‌شوند. اکتیویتی جدید (از لحاظ زمان اجرا)، در بالای پشته قرار می‌گیرد و در وضعیت اجرا قرار می‌گیرد و اکتویتی های پیشین در زیر اکتیویتیِ جدید قرار می‌گیرند.  هنگامی که اکتیویتی موجود در بالای پشته خارج می‌شود، نزدیکترین اکتیویتی به بالای پشته، فعال می شود.

چرخه حیات اکتیویتی ها در اندروید
هر اکتیویتی 4 حالت داردد

Running (در حال اجرا) : اکتیویتیِ موجود در بالای پشته در حالت اجرا قرار دارد که به این معناست این اکتیویتی در صفحه نمایش در حال نمایش است.

Paused (ایستاده شده) : اکتیویتی که زنده است ولی روی آن تمرکز نشده در حالت Pause قرار دارد. این اکتویتی می تواند بصورت یک پاپ‌آپ (اعلان) داخل اکتیویتی در حال اجرا نمایش داده شود.

Resumed ( ادامه دادن) : هنگامی که یک اکتیویتی ایستاده شده ( Paused ) زنده شود که در این حالت اکتیویتی رفرش شده و دوباره اجرا می شود.
Stopped (قطع شده) : اکتیویتی ای که دیگر در صفحه قابل دسترس نیست در حالت توقف قرار دارد.

 

متدهای فراخوانی در اکتیویتی اندروید
هر اکتیویتی با یکی از متدهای فراخوانی زیر پیاده سازی شده است

OnCreate(): این متد اولین متد فراخوانی در اندروید است. این متد در هنگامی که اکتیویتی ساخته می‌شود فراخوانی می شود. این قسمت همان جایی است که همه‌ی اجزای صفحه مانند دکمه ها، ویوها (Views) در آن قرار می‌گیرد.

OnStart(): این متد دومین متد فراخوانی است. این متد زمانی فراخوانی می شود که اکتیویتی بر روی صفحه نمایش قابل دسترسی (قابل مشاهده) است.

OnResume(): این متد بعد از متد OnStart می آید اگر اگر اکتیویتی از حالت ایستا به در حال اجرا تغییر کرده باشد. این متد معمولا در هنگام تعامل کاربر با اکتویتی ها استفاده می شود.

OnPause() : این اکتیویتی بدنبال OnResume می آید. یعنی هنگامی که اکتیویتی قبلی به جالت اجرا در آید این اکتیویتی در حالت ایستا (مکث) قرار می گیرد.

OnStop() : این متد هنگامی رخ می دهد که اکتیویتی دیگری OnResume (اجرای مجدد) می شود و اکتیویتی پیشین دیگر قابل دسترسی نیست و از صفحه نمایش حذف می شود.

OnDestroy() : آخرین فراخوانی و برای پایان اکتیویتی استفاده می‌شود.

نمودارهای زیر چرخه‌ی کامل اکتیویتی‌ها در اندروید را نمایش می‌دهد.

مثالی از اکتیویتی ها در اندروید
در اینجا مثالی از اکتیویتی ها آورده ایم. نرم افزار اندروید استودیو را باز کنید و پروژه جدیدی ایجاد کنید و کدهای زیر را درون فایل MainActivity.java قرار دهید: