چرخه اکتیویتی اندروید استودیو
چرخه حیات یک اکتیویتی در اندروید استودیو
چرخه اکتیویتی همان طور که در تصاویر بالا مشاهده می کنید چرخه حیات یک اکتیویتی در اندروید چرا گفتم اندروید ؟ چون ممکنه شما توی اکلیپس هم برنامه نویسی اندروید رو انجام بدین پس تفاوتی نمی کنه که توی اندروید استودیو دارید کد می زنید یا اینکه توی اکلیپس پس به خاطر همین گفتم چرخه حیات یک اکتیویتی در اندروید اما قراره ما در این مطلب به توضیح چرخه حیات اکتیویتی ها در اندروید استودیو بپردازیم.
خدمت شما عرض کنم که وقتی شما یک اکتیویتی رو استارت می کنید یا به اصطلاح پروژه خودتون رو ران می کنید اولین متدی که فراخوانی می شود متد OnCreate می باشد که توسط این متد اکتیویتی ما اجرا می شود.
خوب همون طور که در تصویر بالا دید زمان های مختلفی از یک اکتیویتی نشان داده شده که خانه اندروید مهمترین بخش ها رو خدمت شما معرفی می کنه وقتی کاربر وارد یک اکتیویتی می شود برای اولین بار برنامه اندرویدی ما وارد متد onCreate میشه و کدهای موجود در اون رو Run می کنه خوب حالا اگه کاربر برروی یک دکمه کلیک کنه و وارد یه اکتیویتی جدید بشه اکتیویتی قبلی وارد onPause میشه و اگه کاربر مدت زمان زیادی رو وارد اکتیویتی قبلیه نشه اکتیویتی وارد onStop و بعد مدتی هم وارد onDestroy میشه .
خوب حالا اگه اکتیویتی داخل onPause باشه و کاربر به اکتیویتی برگرده کدهای موجود در onResume اجرا میشه ولی اگه اکتیویتی بسته شده باشه کدهای داخل onCreate از نو شروع میشه .
ما سه حالت خیلی مهم داریم:
۱- onCreate که وقتی کاربر واسه دفعه اول وارد اکتیویتی میشه اجرا میشه
۲ـ onPause که وقتی کاربر از اکتیویتی خارج میشه اجرا میشه
۳ـ onResume که کاربر بعد از برگشت به اکتیویتی اجرا میشه
حتما بخوانید : رفتن به اکتیویتی دیگر Intent اندروید استودیو
خوب فرض کنید یه صفحه تنظیمات داریم و میخوایم وقتی کاربر دکمه برگشت رو فشرد برنامه تنظیمات رو ذخیره کنه،در کدوم قسمت باید کد های مربوط به ذخیره سازی اطلاعات رو وارد کنیم؟
ـonPause
خوب حالا فکر کنید ما داخل صفحه مون یه دکمه تنظیمات داریم که کاربر وقتی برروی اون کلیک میکنه یه صفحه باز میشه و تنظیمات رو انجام میده و وقتی دکمه برگشت رو زد . داخل صفحه قبلیمون تنظیمات اعمال و تغییرات انجام میشه واسه اینکه تغییرات انجام بشه باید کدها رو کجا قرار بدیم؟
ـonResume
برفرض میخوایم فونتمون تغییرسایز کنه در onResume میگیم که مقدار جدید رو بگیر و سایزت رو تغییر بده
به صورت کامل هم یک بار دیگر توضیحات را ارائه میدیم.
()onCreate – هنگامی که اکتیویتی برای اولین بار ایجاد می شود، فراخوانی می شود.
()onStart – هنگامی که اکتیویتی به کاربر نمایش داده می شود فراخوانی می گردد.
()onResume – هنگامی که اکتیویتی شروع به تعامل با کاربر می کند، فراخوانی می شود.
()onPause – هنگامی که اکتیویتی کنونی موقتا نگه داشته می شود و اکتیویتی قبلی در حال شروع به کار شدن است، فراخوانی می شود.
()onStop – هنگامی که دیگر اکتیویتی به کاربر نمایش داده نمی شود، فراخوانی می شود.
()onDestroy – قبل از اینکه اکتیویتی کاملا از بین برود، توسط سیستم فراخوانی می شود.
()onRestart – هنگامی که اکتیویتی پس از توقف دوباره شروع به کار می کند، فراخوانی می شود.
آموزش در قالب ویدیو آموزشی در دسترس هست.
موفق باشید.
سلام جواد جان
امیدوارم صحیح و سلامت و همینطور قدرتمند تر بری برای آموزش های بیشتر
جواد عزیز
من وقتی همینطوری که شما گفتی کد ها رو اعمال میکنم چرخه حیات اکتیویتی کاملا صحیح صورت میگیره بغیر از destroy وقتی اپلیکیشن رو میبندم این پیغام برای من نمایش نمیده بنظر شما مشکل از کجاست؟!
اینم عکسی از کد بهمراه پیغام خطا در هنگام بستن اپلیکیشن
http://s10.picofile.com/file/8407213868/as.PNG
(لازم دونستم بگم بقیه چرخه حیات اکتیویتی کاملا صحیح اجرا میشه)
سلام و درود دوست عزیز Arash
دقت کنید در برخی از موارد log تولید نمیشه و در هر صورت متد destroy فراخوانی میشه زمانی که اکتیویتی کلا از بین میره لطفا یک toast قرار بدین.
فیلم آموزشی زیر رو مشاهده کنید.
https://www.aparat.com/v/G4z6B
با احترام.
سلام//وقت بخیر
خیلی سایت خوبی دارید .خدا اجرتون بده /من که به قول معروف چشم ودلم بیشتر به اندروید باز شد/تشکر میکنم/
سلام و احترام دوست عزیزم mohammad002
لطفا دارید دوستم .
وظیفه ست.
موفق باشین.
خیلی خوب بود.
نظر لطفتونه.
آموزش جامعه و کاملی بود تشکر از مدیریت سایت خانه اندروید
این لطف شماست انشالا آموزش خیلی زیادی رو می خواهیم بدیم .