مفهوم context و activity
سلام دوستان
مفهوم اکتیویتی و کانتکست یکم گیجم کردن!!
تو اینترنت گشتم یکم بدتر شدم :D
میشه توضیح بدید؟
فیلم آموزشی هم دیدم یکم سنگین توضیح دادن شایدم من نفهمیدم!
پیشاپیش ممنون
این متن از قبل رو کامپیوترم بود یادم نیست از کجا گرفتمش از منبعش عذر میخوام
احتمالا به دردت میخوره :
Context یک کلاس انتزاعیه که خود آندروید اونو پیاده سازی میکنه، مثلا Activity یک context هستش. ما از Contetx برای استفاده از Resource های برنامه و انجام عملیات های application-level استفاده میکنیم؛ مثلا اجرای یک Activity، سرویس ، فرستادن یک broadcast و ... همه عملیات های application-level هستند.
Activity :
مفهوم اکتیویتی به نسبت ساده تره ... اکتیویتی کلاسی هست که شما وقتی ازش extends می کنین که قصد دارین فرم های برنامه توون که به صورت xml نوشتید رو به کاربر نشون بدین و مثلا کاربر بتونه یه دکمه ای رو در فرم شما کلیک کنه یا اصطلاحا باهاش interact (تعامل) داشته باشه. به اولین پروژه ی استاد در ویدیوی 04-01 نگاه کنید, کلاس Startup1Activity با extends کردن از کلاس Activity قادر هست که تابع setContentView رو برای فایل main.xml اجرا کنه و در نهایت در زمان اجرای پروژه باعث نمایش محتوای فایل main.xml به شکل یک فرم در گوشی کاربر بشه. پس شما زمانی که بخواهید فرمی رو به کاربر نشون بدید باید یه کلاس داشته باشید که از Activity, اکستندز شده باشه.
Context :
مفهوم context یکم پیچیده تر هست و شما با نوشتن پروژه های بیشتر, و زیاد شدن تجربه توون کم کم براتوون جا می افته ولی گفتن یه مثالی که توی اینترنت دیدم شاید خالی از لطف نباشه :
فرض کنین که در هتلی اقامت دارید برای استفاده از امکانات هتل مثل صبحانه, ناهار یا خشکشویی هتل و ... با متصدی تماس می گیرید و سفارشتوون رو اعلام می کنین و اون سفارش مورد نظر شما رو در اختیارتوون می ذاره.
حالا اگر هتل Application شما باشه و صبحانه و ناهار و ... معادل اجرای یک activity جدید, دسترسی به Database و ... باشه اون متصدی که باهاش تماس می گیرید تا منابعی که می خواهید رو در اختیارتوون بذاره همون Context خواهد بود.
اگه نو دیتابیس context استفاده نکنیم چه اتفاقی میفته لزومی داره استفاده کنیم ؟؟؟؟؟ ممنون میشم کمک کنید
Context به عنوان کلاس پایه (base class) برای Activity ها، سرویس ها (service)، کل برنامه اندروید (Application) و ... به کار رفته است. در واقع آنها از گسترش (extend) کلاس Context به وجود آمده اند و بنابراین در برخی مواقع که در حال کدنویسی برای بخش های مختلف برنامه اندروید هستیم، باید به context مربوط به آنها رجوع کنیم. مثلا در هنگام کدنویسی در یک Activity ، ممکن است که برای یک سری کد، نیاز به context مربوط به خود Activity داشته باشیم و برای یک سری کد دیگر، نیاز به context مربوط به کل برنامه اندروید (Application) باشد. بنابراین رجوع به context مربوط به آنها، برای برخی کدها، ضروری است.
context مربوط به هر کدام از مواردی که ذکر کردیم، اطلاعات محیطی (environment data) مربوط به آنها را ارائه می کند. Context به ما کمک می کند که به منابع (resources) و کلاس ها (classes) و برخی موارد دیگر از آنها، دسترسی پیدا کنیم.
شاید با یک مثال ساده، بتوان مفهوم context را بیان کرد. فرض کنید که شما در یک شهر، غریب هستید و هیچ کجا را نمی شناسید. یک راهنما در کنار شما هست که هر وقت که گیج شدید، از او می پرسید که من کجا هستم و وی با باز کردن یک نقشه، محل شما را می گوید و همچنین می گوید که چگونه می توانید به نقاط مختلف شهر (مثل هتل ها، رستوران ها و ...) بروید. context نیز نقشی مشابه آن راهنما را برای ما دارد که در بخش های مختلف برنامه اندروید، با مراجعه به Context مربوط به آن، context ما را راهنمایی می کند که چگونه به منابع (resources) و کلاس های (classes) مورد نظرمان (از این بخش و یا از سایر بخش های برنامه اندروید)، دسترسی پیدا کنیم.
منبع:
http://p30droid.com/Thread-%D9%85%D9%81%D9%87%D9%88%D9%85-%D9%88-%D9%85%D9%88%D8%A7%D8%B1%D8%AF-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-Context-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .