اول:
برای اکتیویتیها تا اینجای آموزش صرفا به متد onCreate() دسترسی داشتیم برای برنامه نویسی، ولی اینجور که متوجه شدم برخی کدها و دسترسی به برخی منابع برای سنگین نشدن برنامه بهتر در متدهای دیگر نوشته بشن مثل onStart() یا onResume() در صورتیکه ما فعلا گویا کاری با اونها نداریم آیا الزامی به فراخوانی اون متدها و دستکاریشون هست و اینکه چگونه میشه تشخیص داد بهتره که این کد برای کارکرد بهتر اپ باید مثلا در متد onStart() نوشته بشه یا onCreate().
دوم:
متدهای چرخه حیات فرگمنت همگی درون کلاس MyFragment فراخوانی میشن. در مورد اکتیوتی چطور؟ همگی درون کلاس MainActivity فراخوانی میشن؟
سوم:
اگر پاسخ قسمت دوم مثبت هست: در برنامه ProfileUi وقتی روی دکمه EditProfile کلیک میشه اکتیویتی Main ابتدا onPause() و سپس onStop() میشه و منتظر دریافت جواب از اکتیویتی EditProfile میمونه زمانی که روی دکمه ارسال پاسخ درون اکتیویتی دوم کلیک میشه اکتیویتی EditProfile ابتدا onPause() سپس onStop() و در نهایت onDestroy() میشه و اکتیویتی MainActivity که روی حالتonStop() هست ابتدا onRestart() میشه سپس onStart() و در نهایت onResume() میشه یعنی دیگه onCreate() نمیشه. بنابراین نمیتونیم پاسخ رو درون متد onCreat() دریافت کنیم ولی چرا ازمتدی با نام onActivityResult() استفاده کردیم؟ نمیتونستیم onResume() رو فراخوانی و و جواب رو اونجا دریافت کنیم برای استانداردسازی بهتر کدمون و سنگین نشدن برنامه؟
(تعامل با اکتیویتی مثل کلیک کردنها درون متد onResume() اتفاق میوفته. یعنی در برنامه ContactsRecyclerView و یا Profile Ui و قتی روی دکمه add یا EditProfile کلیک میکنیم که از Intent و Bundle برای جابه جاکردن اطلاعات بین دو تا اکتیویتی استفاده میکردیم متد onResume() نقش اساسی ایفا میکرده درسته نمیگم؟ بنابراین...
الان با وجود متد onActivityResult() متد onResume() قطعا بعد از اجرای این متد ران میشه چون باید نتیجه رو به کاربر نشون بده. متد onActivityResult() جزء چرخه حیات یک اکتیویتی نیست بنابراین این متد رو چگونه هندل میکنه اکتیویتی؟