PDA

View Full Version : کلاس Context دقیقا چیست؟



Sina.iRoid
دوشنبه 20 بهمن 1393, 08:57 صبح
سلام
امکانش هست در مورد کلاس Context توضیح بدین. در موردش سرچ کردم اما باز هم درست متوجه کاربردش نمیشم. ممنون اگر راهنمایی کنید :)

tux-world
دوشنبه 20 بهمن 1393, 10:48 صبح
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) مورد نظرمان (از این بخش و یا از سایر بخش های برنامه اندروید)، دسترسی پیدا کنیم.