مفهوم Context در اندروید چیست؟

سوال

دوستان من توی اندروید تازه کار هستم و خواستم بدونم که Context  دقیقا چی هست که اینقدر پر استفاده هست در بخش های مختلف برنامه نویسی اندروید.

 

ممنون میشم راهنمایی کنید.

حل شده 0
سوگند 5 سال 3 پاسخ ها 1407 دیده شده 1

پاسخ ها ( ۳ )

  1. Context در حکم یک نقطه‌ی ورود یا entry point در سیستم اندروید است. از کامپوننت‌های سیستمی می‌توانم به WifiManager, Vibrator و packageManager اشاره کنم. مثلاً برای دسترسی به WifiManager می‌توانید از این کد استفاده کنید:
    context.getSystemService(Context.WIFI_SERVICE)
    به همین روش از context می‌توانید برای دسترسی به فایل‌های سیستمی استفاده نمایید.

  2. ما میتوانیم با فرا خوانی getApplicationContext(), getContext() , getBaseContext() یا استفاده ازthis کلاس خود را از context گسترش دهیم و در بخش های مختلفی همانند Application, Activity, Service وIntentService classes از آن استفاده کنیم . در نهایت این می شود ساده ترین تعریف از context اما ما در زیر به تفسیر context را توضیح می دهیم .

    Contextبه عنوان کلاس پایه(base class) برای Activity ها، سرویس ها(service) ، کل برنامه اندروید(Application) و … به کار رفته است.

    در واقع آنها از گسترش (extend) کلاس Context به وجود آمده اند و بنابراین در برخی مواقع که در حال کدنویسی برای بخش های مختلف برنامه اندروید هستیم، باید به context مربوط به آنها رجوع کنیم. مثلا در هنگام کدنویسی در یک Activity ، ممکن است که برای یک سری کد، نیاز بهcontext مربوط به خودActivity داشته باشیم و برای یک سری کد دیگر ،نیاز بهcontext مربوط به کل برنامه اندروید(Application) باشد. بنابراین رجوع به context مربوط به آنها، برای برخی کدها، ضروری است.

  3. به طور کلی وظیفه  Context فراهم کردن یک دسترسی برای بدست آوردن اطلاعاتی از وضعیت اپلیکیشن هست.

    بطور مثال کانتکست دسترسی اکتیویتی ها، فرگمنت ها و سرویس ها رو به resource files و images و styles فراهم میکنه. همچنین دسترسی به سرویس ها درونی اندروید رو هم فراهم میکنه.

     

    بهترین پاسخ

ارسال یک پاسخ