بسته آموزش چرخه حیات در اندروید هم به صورت مستقل قابل استفاده است و هم در واقع فصل چهارم از بسته جامع آموزش برنامه نویسی اندروید با کاتلین و استاندارد گوگل (+) است.
دیباچه
هر اکتیویتی در یک اپلیکیشن Android مانند یک موجود زنده دارای یک چرخه حیات است. لحظهای ساخته میشود. لحظهای بعد منابع آن ایجاد میشوند. پس از آن در صفحه پدیدار میشود. سپس کاربر شروع به کار با آن میکند و سرانجام آن را میبندد و اکتیویتی میمیرد.
اگر بخواهیم جواب سوالهای بخش قبل را بدهیم باید در لحظه درست از عمر اکتیویتی پدیده مورد نظر را مدیریت کنیم.
این آموزش در یک نگاه
در آموزش چرخه حیات در اندروید ، شما با کار روی یک اپلیکیشن سفارش غذا با نحوه مدیریت چرخه حیات در اندروید آشنا خواهید شد. در آغاز با ابزارهای logging آشنا میشوید. سپس میتوانید لحظه تغییر وضعیت یک اکتیویتی در چرخه حیات خود را پایش و شکار کنید. آنگاه میتوانید مقاصد خود را (برای مثال پخش یا قطع کردن یک موسیقی) را در این لحظهها مدیریت کنید.
مدرس دوره سعی میکند تا گام به گام شما را با مفهوم چرخه حیات و مدیریت آن آشنا کند. شما مطابق سرفصلهای دوره وارد یک پروژه آماده میشوید و رفته رفته آن را کاملتر و بهتر میکنید. سورس کدهای این دوره نیز به آموزش ضمیمه شده است.
برخی مواردی که در این آموزش پوشش داده میشوند به شرح زیر هستند:
- میآموزید که چطور باید وضعیت حیات اکتیویتی را پایش یا logging کنید.
- با کتابخانه Timber و کلاس Application در اندروید برای لاگ گرفتن حرفهای آشنا میشوید.
- متدهای چرخه حیات و لحظه فراخوانی هر یک را به خوبی خواهید شناخت.
- یاد میگیرید که چطور باید اجرای یک فرآیند مثل یک موسیقی یا انیمیشن را مدیریت کرد.
- یاد میگیرید که چطور وقتی تنظیمات سیستم مثلا با چرخش گوشی از دست میرود، اطلاعات را حفظ کنید.
- یاد میگیرید که چطور میتوانید اطلاعات مندرج در صفحه اکتویتی را در Ram گوشی به صورت موقت ذخیره کنید.
این آموزش بینظیر است زیرا:
- زیرا مطابق با آخرین استاندارد توسعه گوگل است.
- زیرا این آموزش اندروید با کاتلین انجام میشود.
- زیرا در راستای اصول توسعه با معماری MVVM است.
- زیرا آموزش چرخه حیات در اندروید پروژه محور است.
سوالهای کلیدی که در جریان آموزش پاسخ داده میشوند:
چرخه حیات در اندروید چیست ؟ آموزش lifecycle در اندروید به چه کار میآید؟ چطور پخش و قطع موسیقی را در اندروید مدیریت کنیم؟
اگر بخواهیم وقتی اکتیویتی ما پشت اکتیویتی دیگری میرود، پخش موسیقی قطع شود باید چه کنیم؟ اگر بخواهیم وقتی کاربر گوشی خود را میچرخاند اپ ما ریست نشود باید چه کنیم؟
پیشنیاز
فصلهای 1 تا 3 از همین مجموعه
کلیدواژگان
چرخه حیات در اندروید – کلاس Application در اندروید – کتابخانه Timber – مدیریت عمر اکتیویتی – معنی onPause – معنی onStart – معنی onResume – کالبک های عمر اکتیویتی – چرخه حیات فرگمنت – برنامه نویسی اندروید – آموزش اندروید – اندروید با کاتلین و استاندارد گوگل
امیرحسین –
سلام،
من میخواهم یک برنامه ساز مثل جواپ ولی نسخه اندروید بسازم.
فقط در ویرایش فایل مانیفست مشکل دارم.
من چگونه میتوانم با استفاده از برنامه نویسی یک فایل Android manifest.xml را از dirasset باز کنم و مثلاً قسمت پکیج نیم را تغییر دهم و دوباره آن را ذخیره کنم؟
بهمن (خریدار محصول) –
در جواب (!!!)
مدرس گرامی جناب آصفی
سلام به شما دوست عزیزم. بسیار ممنونم از این که برای ابزار لطف و نظرتون وقت گذاشتید…..
– قدردانی از عزیزانی که نسبت علم آموزی احساس مسئولیت دارند کمترین کاری است که مخاطب موظف به انجام آن است
-کم نیستند کسانی که در علم آموزی کم فروشی میکنند و نکات کلیدی و اصلی را آموزش نمیدهند
– فراوانند شاگردانی که به اشتباه خود را استاد جا زدند بنابراین گستره علمی محدودی دارند و از طرفی تسلطی بر مباحث برای آموزش ندارند
بله دقیقا درست فرمودید آموزش های ما مثل تمام بخش های کشور دمده و به اصطلاح Deprecated شدند (متاسفانه)
با قاطعیت میگم که شما منحصر بفرد هستید و امیدوارم رویه ای که پیش گرفتید با قدرت بیشتر ادامه دار باشد
مصطفی آصفی –
سلام مجدد. ممنونم دوست عزیزم. مسئولیت بنده رو سنگین می کنید.
تلاش می کنم که روند آموزشی مناسبی رو حفظ کنم.
بهمن (خریدار محصول) –
درود به مدرس گرامی جناب آصفی
بنده به واسطه گوگل و سرچ navigation با وب سایت و دوره کاتلین شما آشنا شدم، بعد از دیدن ظاهر نه چندان جذاب سایت فصل سه رو خریداری کردم ولی به محض دیدن چند قسمت متوجه کیفیت بالای شما و آموزشهاتون شدم بنابراین بدون درنگ سایر فصلها رو هم خریدم که متوجه اشتباهاتی که قبلا در کدها داشتم بشم، دستمریزاد دوره خوبی بود،مشتاقانه منتظر اصل ماجرا هستم(فصلهای بعدی)
کاش این دوره رو اولویت قرار بدید در غیر اینصورت لطفا فصلهای دیگر رو هم با وسواس، کامل(مشابه سرفصلهای آموزش اصلی) و اصولی ضبط کنید و کیفیت رو به دلیل همزمانی پیشبرد دوره های مختلف پایین نیارید
مصطفی آصفی –
سلام به شما دوست عزیزم. بسیار ممنونم از این که برای ابزار لطف و نظرتون وقت گذاشتید.
در رابطه با این دوره بنده به عمد شیب تولید اون رو پایین گرفتم تا هر درس با کیفیت عالی ضبط بشه. پیشبرد این دوره در اولویت هفتگی بنده هست و مستمر در حال ضبط درس ها هستم. گاهی یک درس رو تا 20 مرتبه از نو ضبط می کنم تا جملهها کاملا پخته و گویا باشن. امیدوارم که مجموعه استانداردی برای بچههای نسل بعدی بشه. برنامهنویسی اندروید در کشور به شدت غیراستاندارد هست و این یعنی اتلاف زمان و هزینه تیمها برای پشتیبانی و توسعه پروژهها.
عل –
سلام
من چگونه میتوانم یک برنامه ساز بسازم تا کاربر بدون برنامه نویسی بتواند اپلیکیشن تولید کند؟
مصطفی آصفی –
سلام به شما. ساخت یک اپ ساز حرفهای کار یک نفر نیست. باید یک گروه کار کنن. نمونه اپ سازهای زیادی در حال حاضر در کشور گروه های مختلف زدن که می تونید جستجو و استفاده کنید.
در گوگل بزنید «اپ ساز»
sepehr (خریدار محصول) –
سلام
هنگام استفاده از Lifecycle library چرا حتما باید متدهای Observer ما درون یک کلاس باشد و نمی شود درون یک فرگمنت یا اکتیویتی قرار داشته باشند و شی آن فرگمت یا اکتیویتی را در ObserverOwner ساخت .
init کردن باعث تداخل میشه !!!
مصطفی آصفی –
سلام به شما. اصول معماری این رو به صورت پیش فرض در نظر گرفته. هر چند راه هایی برای دور زدن مقصود به ویژه در کاتلین هست
من البته نمی دونم که شما قصد اجرای چه کاری رو دارید اما تا حد ممکن همین اصول رو شبیه سازی کنید.
sepehr (خریدار محصول) –
سلام
ممنون بابت دوره مفیدتون.
ای کاش توی این دوره LiveData هم گنجانده می شد.
لطفا حجم مباحث رو بیشتر کنید. اینطوری خیلی طول می کشه به مباحث اصلی جت پک برسیم
مصطفی آصفی –
سلام و ممنون از شما. مبحث LiveData و View-Model و به طور کلی طراحی معماری MVVM در اندروید انشالله فصل بعدی هستند که به زودی منتشر خواهند شد.
sajad shafiee (خریدار محصول) –
سلام استاد
درخواست راهنمایی رو جواب ندادین و اینکه لینک درس 16 مشکل داره برای دانلود
ممنون
مصطفی آصفی –
سلام به شما. در مورد سوالتون گمان کنم منظورتون استفاده از اندروید استودیو تحت سرور بود که بنده تا به حال این کار رو تجربه نکردم ولی گمان می کنم اگر توان پردازشی لازم فراهم باشه اون سمت باید شدنی باشه. در مورد لینک دانلود ممنون از اطلاعتون گفتم درست کردن ظاهرا مجدد تست کنید.
رامین حاتم زاده –
کاش آموزش android studio و java SE هم داشتید از صفر تا پیشرفته …
مصطفی آصفی –
سلام به شما. واقعیت این که زبان توسعه حرفهای بنده تا به حال بیشتر جاوا بوده تا کاتلین ولی با توجه به این که کاتلین آینده اندروید هست این دوره رو برای آینده دوستان مفیدتر دیدم.
محیط آموزش هم اندروید استودیو هست.
کاتلین بهتر از جاواست. کاتلین همون جاواست با سینتکس نوینتر. نوشتن کد راحتتر و سریعتره، ضمنا کلاسهای جاوا رو هم میخونه.
البته چون جاوا کتابخونههای زیادی برای استفاده داره که اغلب باید در پروژه اون ها رو ایمپورت کرد، امیدوارم در آینده یک دوره فشرده آشنایی با زبان جاوا برای استفاده کاتلین نویسها داشته باشیم.
sajad shafiee –
سلام استاد
اولا ممنون بابت آموزشهای عالیتون
یک راهنمایی میخواستم از شما . میشه برای تمرین اندروید استدیو رو سرور مجازی پیاده کرد و با ip بهش وصل شد و کار کرد باهاش ؟ سیستم من فعلا جوابگو اندروید استدیو نیست . نظرتون رو میخواستم بدونم . ممنون