ggg
Amazing Categories :
Android
Node.js

دسته بندی نشده
(16)

آماده سازی محیط برنامه نویسی
(11)

آموزش ها و مباحث پایه ای اندروید
(8)

نکات پایه ای اندروید استودیو
(3)

وب سایت های مفید و کاربردی
(1)

AlertDialog
(1)

LogCat
(1)

Activity Lifecycle
(1)

Activity
(3)

Manifest
(2)

Strings
(1)

StatusBar
(1)

ActionBar
(2)

Toast
(1)

Library
(6)

ListView
(3)

آموزش های مرتبط با طراحی متریال ( Material Design )
CardView
(1)

RecyclerView
(0)

ویوها و ابزارهای موجود در محیط برنامه نویسی
MediaPlayer
(4)

WebView
(1)

VideoView
(1)

Button
(1)

ImageButton
(1)

RadioButton & RadioGroup
(1)

EditText
(0)

TextView
(1)

ScrollView
(2)

طراحی رابط کاربری و زیباسازی
Layout
(4)

Style
(2)

Shape
(2)

Animation
(2)

Typeface
(2)

آموزش های مرتبط با سخت افزار
Camera
(1)

Vibrator
(1)

Bluetooth
(0)

WiFi
(0)

ذخیره اطلاعات و پایگاه داده
SQLite Database
(0)

Shared Preferences
(0)


دسته بندی نشده
(8)


آشنایی کامل با چرخه حیات اکتیویتی (Activity Lifecycle) در برنامه نویسی اندروید

.رایگان
هزینه یادگیری

سامان سلطانی پور
مدرس آموزش

---
سطح آموزش

---
تعداد جلسات

---
نوع آموزش

---
تعداد ویدیوها

---
زمان ویدیوها

---
حجم ویدیوها


مطالعه آموزش
دانلود ویدیو ها
دانلود فایل ها

به نام خالق

 

سلام دوستان ؛

تو این جلسه قراره که با چرخه حیات اکتیویتی (Activity Lifecycle) به صورت کامل آشنا بشیم ، حالا چرا می گم به صورت کامل ، چون در بیشتر سایت های فارسی زبان به صورت پراکنده و گاهی اوقات نصفه توضیح داده شده ، اما امروز من یک مبحث کامل در مورد چرخه حیات اکتیویتی براتون آماده کردم ؛

بنده همیشه سعی دارم مباحث رو به صورت پروژه محور و با مثال توضیح بدم تا شما کاربران عزیز مباحث رو به خوبی درک کنید …

با همیار اندروید به درکی کامل از برنامه نویسی اندروید برسید …

 

چرخه حیات اکتیویتی اصلا چی هستش و چه کاربردی داره …!؟

ما یک اپلیکیشن را طراحی کرده ایم که دارای چندین اکتیویتی است ، وقتی کاربر آن را در گوشی خود اجرا می کند ، هر اکتیویتی بخشی از حافظه دستگاه را به خود اختصاص می دهد و بسته به نوع فعالیت اکتیویتی سرعت پردازش دستگاه پایین می آید .

حال در نظر بگیرید که ما از اکتیویتی A به اکتیویتی B رفته ایم و دیگر نیازی به اکتیویتی A نداریم …!!

آیا اکتیویتی A هنوز در حال اجراست و حافظه دستگاه را اشغال کرده است …!؟

آیا اکتیویتی A بسته شده و حافظه دستگاه آزاد شده است …!؟

اگر ما فقط برای یک مدت کوتاه به اکتیویتی B برویم ، آیا اکتیویتی A بسته خواهد شد …!؟

اگر به بخش تنظیمات اپلیکیشن خود برویم و پس از مدتی به اکتیویتی بازگردیم ، آیا اکتیویتی هنوز پا برجاست …!؟

آیا زمانی که یک موسیقی در اکتیویتی A در حال اجراست با رفتن به اکتیویتی B ، موسیقی متوقف می شود …!؟

آیا پس از بازگشت به اکتیویتی A ، موسیقی از ابتدا پخش می شود …!؟

و خیلی از موارد دیگر وجود دارد که همگی آن ها به چرخه حیات اکتیویتی بستگی دارد ،

ما با مدیریت چرخه حیات اکتیویتی می توانیم یک اپلیکیشن استاندارد ، قدرتمند و سریع ایجاد کنیم …

 

معرفی و ایجاد چرخه حیات اکتیویتی

به طور کل برای مدیریت چرخه حیات اکتیویتی هفت حالت وجود دارد ،

هر حالت دارای یک متد مخصوص به خود است ،

۱- onCreate() (ایجاد)

۲- onStart() (شروع)

۳- onResume() (ادامه)

۴- onPause() (مکث)

۵- onStop() (توقف)

۶- onDestroy() (نابود شدن)

۷- onRestart() (راه اندازی مجدد)

به عنوان مثال :

وقتی که شما اولین پروژه خود را ایجاد می کنید به صورت پیش فرض اولین متد چرخه حیات در اکتیوتیی ایجاد می شود ،

من یک پروژه جدید ایجاد کرده ام ، در تصویر زیر مشاهده می کنید که اولین حالت از چرخه حیات اکتیوتیی به نام onCreate ایجاد شده است

شما برای ایجاد دیگر حالت ها یا بهتر است بگویم برای ایجاد دیگر متدهای چرخه حیات باید به روش زیر عمل کنید

در حالی که درون کلاس اصلی اکتیویتی و خارج از متدهای دیگر هستید ، کلیدهای ترکیبی Ctrl+O را فشاردهید

حال می توانید دیگر متدهای مربوط به چرخه حیات را انتخاب کنید

یا اینکه به صورت دستی بنویسید

کدهای زیر مربوط به هفت متد چرخه حیات می باشند (کدهای کامل اکتیویتی من هستند)

 

معرفی کاربرد متدهای چرخه حیات برای مدیریت چرخه حیات اکتیوتی

یاد گرفتیم که هفت متد برای مدیریت چرخه حیات وجود دارد و آنها را هم ایجاد کردیم ،

حالا در این مرحله می خوایم یادبگیریم که هر متد چه کاربردی داره و کجای این چرخه قرار داره

برای درک چرخه حیات یک تصویر براتون آماده کردم ، این تصویر مربوط به چرخه حیات یک اکتیویتی می باشد ، خوب به تصویر دقت کنید

تشریح کامل متدها در تصویر بالا :

ما یک اپلیکیشن با دو اکتیویتی داریم (A , B) ، اکتیویتی مد نظر ما  اکتیویتی A می باشد

وقتی کاربر برای اولین بار اکتیویتی را اجرا می کند به ترتیب مراحل onCreate (ایجاد) ، onStart (شروع) ،onResume    (ادامه) اجرا می شوند و اولین UI یا همان رابط کاربری به کاربر نمایش داده می شود

۱- وقتی کاربر به اکتیویتی B می رود ، اکتیویتی A به حالت onPause وارد می شود و موقتا مکث می کند ، در این هنگام دستورات (کدها) درون متد onPause اجرا می شوند

۲- وقتی پس از یک مدت طولانی به اکتیویتی A بازنگردیم ، اکتیویتی A به حالت onStop وارد می شود و دیگر به کاربر نشان داده نمی شود ، در این هنگام دستورات (کدها) درون متد onStop اجرا می شوند (مانند زمانی که از کلید HOME گوشی استفاده می کنیم)

۳- بعد از مرحله onStop ، اکتیویتی A به حالت onDestroy وارد می شود ، این حالت همیشه صورت نمی گیرد درواقع زمانی که سیستم گوشی با کمبود حافظه مواجه می شود این متد فراخوانی می شود و اکتیویتی بسته خواهد شد

۴ و ۵ – اگر اکتیویتی ما در حالت های onPause یا onStop قرار داشته باشد ، درصورتی که برنامه های دیگر نیاز به حافظه داشته باشند فعالیت برنامه متوقف می شود و سپس اکتیویتی به حالت onCreate وارد می شود ، در این هنگام اکتیویتی از ابتدا ساخته می شود

۶- بعد از مرحله onPause ، زمانی که اکتیویتی موقتا مکث می کند ، اگر کاربر دوباره به اکتیویتی A برگردد ، چرخه حیات از مرحله onResume از سر گرفته می شود و دیگر نیازی به مرحله ایجاد (onCreate) و مرحله شروع (onStart) نیست

۷- بعد از مرحله onStop ، زمانی که اکتیویتی به کاربر نمایش داده نمی شود ، اگر کاربر دوباره به اکتیویتی A برگردد ، چرخه حیات به مرحله onRestart وارد می شود ، در این هنگام کدهای درون متد onRestart اجرا می شوند و سپس چرخه حیات از مرحله onStart از سر گرفته می شود و دیگر نیازی به مرحله ایجاد (onCreate) نیست

 

جمع بندی نهایی

 : onCreate وقتی که اکتیویتی برای اولین بار ایجاد می شود ، این متد فراخوانی می گردد

 : onStart وقتی که اکتیویتی به کاربر نمایش داده می شود ، این متد فراخوانی می گردد

 : onResume وقتی اکتیویتی شروع به تعامل با کاربر میکند ، این متد فراخوانی می گردد

 : onPause وقتی که اکتیویتی کنونی موقتا نگه داشته می شود و اکتیویتی دیگر شروع بکار می کند ، این متد فراخوانی می گردد

 : onStop وقتی که اکتیویتی به کاربر نمایش داده نمی شود ، این متد فراخوانی می گردد

 : onDestroy قبل از اینکه اکتیویتی کاملا از بین برود این متد توسط سیستم فراخوانی می گردد

 : onRestart وقتی که اکتیویتی پس از توقف دوباره شروع به کار می کند  ، این متد فراخوانی می گردد

 

 

 

 

خیلی خوب دوستان ، تا جایی که تونستم روان و ساده توضیح دادم تا شما دوستان عزیز این مبحث رو به خوبی درک کنید ،

این مبحث یک مبحث کلیدی هستش پس خوب تمرینش کنید …

و اینم بگم که نکات زیادی هنوز باقی موند که به امید خدا در مباحث بعدی آموزش خواهم داد …

اگه سوالی ، مشکلی ، پیشنهادی یا هرچیز دیگه ای بود می تونید کامنت بزارید ، حتما رسیدگی می شود …

به امید موفقیت ؛

بدرود .

 




این آموزش ویدیویی برای دانلود ندارد




این آموزش فایلی برای دانلود ندارد

یــــــک راه آسان برای ارتباط با هـــــــم :)
عضویت در کانال تلگرام همیار اندروید

آموزش های مرتبط با موضوع انتخابی شما
معرفی و روش استفاده از متد setOnClickListener در برنامه نویسی اندروید
آموزش کار با کارد ویو (CardView) در برنامه نویسی اندروید
معرفی و روش استفاده از آلرت دیالوگ (AlertDialog) در برنامه نویسی اندروید
آموزش کامل و استاندارد تغییر دادن آیکون اپلیکیشن در اندروید استودیو (روش دستی)
آموزش کامل و استاندارد تغییر دادن آیکون اپلیکیشن در اندروید استودیو (روش اتوماتیک)
آموزش نصب پلاگین در اندروید استودیو به روش آفلاین

برچسب‌ها : , , , , , , , , , , , , , , , , , , , , , , , , , , ,

دیدگاه ها و پرسش های دانشجویان
دیدگاه یا پرسش خود را فقط در رابطه با همین مطلب ارسال کنید .
پرسش های دیگر دانشجویان را بررسی کنید ، به پرسش های تکراری رسیدگی نمی شود .
تایپ به صورت فینگلیش تایید نخواهد شد .
لطفا قوانین را رعایت کنید .
تا الان تعداد ۲ دیدگاه و پرسش برای این مطلب ارسال شده است .

2 پاسخ به “آشنایی کامل با چرخه حیات اکتیویتی (Activity Lifecycle) در برنامه نویسی اندروید”

  1. Pretty nice post. Thank you so much!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

آموزش های گام به گام
پشتیبانی سایت در تلگرام