درخواست راهنمایی در مورد مفهوم Context
یک سوال در مورد مفهوم کانتکست برام پیش امده که ممنون می شم من را راهنمایی کنید.
استاد در اموزش می گویند که Context Activity کاملا Context Application را در بر می گیره و می توانیم به جای استفاده از Context Application از Context Activity استفاده کنیم .سوال من این است که پس چه نیازی به این وجود دارد که ما از Context Application استفاده کنیم اگر Context Activity کامل تر است از Context Application
پیشاپیش ممنون بابت راهنمایی هاتون؟
دوستان اگر کسی می تونی موارد و تفاوت های استفاده از Context Activity و Context Application را بگه یا منبع خوبی در اختیار داره لطفا دریغ نکنه
پیشاپیش ممنونم.
اینکه Context چی هست رو کاری نداریم
من مشکل شمارو میخوام در مورد فرق بین ContextApplication و ContextActivity حل کنم با زدن یک مثال ساده .
این مثال بسیار پیش پا افتاده هست فقط برای اینکه متوجه بشید فرق Context ها چی هست .
فرض کنید کانتکست یکی از این نوع پازل ها به صورت خالی باشه و مهره ای توش هنوز قرار نگرفته باشه :

حالا کانتکست اپلیکیشن اون مهره هایی هست که با رنگ نارنجی و زرد داخل پازل قرار گرفتن و بخشی از پازل مارو کامل کردند.
کانتکست اکتیویتی علاوه بر مهره های کانتکست اپلیکیشن بقیه مهره ها رو هم داره و کانتکست رو کامل میکنه .
حالا مثلا ما میخوایم یک Toast نشون بدیم و نیاز داریم به یک کانتکستی که توش خونه های اپلیکیشنش پر شده باشه .
یا مثلا یک دایلوگ میخوایم نمایش بدیم و برای اینکار نیاز به یک کانتکست داریم که خونه های اکتیوتیش پر شده باشه.
پس هر کدوم از این مهره ها یک ویژگی ای داره که کامل شدنش باعث میشه که کانتکست ما کامل بشه .
و برای استفاده از برخی سرویس ها ما نیاز به یک سری امکانات داریم که ممکن در کانتکست های اپلیکیشن یا اکتیویتی باشه.
ContextActivity در چرخه حیاتی اکتیوتی حاضر ساخته میشه .
ContextApplication در چرخه حیاتی برنامه ساخته میشه .
هایراکی زیر رو ببنید فک میکنم متوجه بشد دقیقا :
Activity :
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
Application :
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .