دسته بندی ها
13:36 1399/05/23

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

مشخصات سوال کننده :
کاربر : android     امتیاز کاربر : 25     رتبه کاربر : 28
دسته بندی : Android

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4515
هوش مصنوعی

پاسخ هوش مصنوعی

در برنامه نویسی اندروید، Context یک رابط کلیدی است که به برنامه اجازه می دهد به اطلاعاتی درباره وضعیت اپلیکیشن و منابع آن دسترسی پیدا کند. به عبارت دیگر، Context یک ناحیه محدود برای فعالیت ها، خدمات، و منابع اپلیکیشن است.

از Context می توان برای موارد زیر استفاده کرد:

  • دسترسی به منابع اپلیکیشن: مانند رشته ها، تصاویری که در پوشه ی resources قرار دارند و ...
  • شروع یک Activity یا Service: با استفاده از Context می توان دیگر فعالیت ها یا سرویس ها را درون اپلیکیشن آغاز کرد.
  • دریافت دسترسی به سیستم: به عنوان مثال، دسترسی به SharedPreferences یا دیتای داخلی اپلیکیشن.

در کدی که شما ارایه داده اید:

public static Context context;
context = getApplicationContext();

شما در حال تعریف یک Context کلی برای اپلیکیشن هستید. getApplicationContext() یک Context سراسری فراهم می کند که برای دسترسی به منابع و خدمات اپلیکیشن مناسب است. باید توجه داشت که استفاده از getApplicationContext() به جای Activity Context معمولاً زمانی مناسب است که نیاز به Context در خارج از Activity دارید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 13:57 1399/05/23

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

Context چیست ؟

خب حالا مفهوم Context رو توضیح میدم. در واقع Context شالوده و زیرساخت یک برنامه اندرویدی هست. میشه گفت Context وضعیت برنامه رو شرح میده و توسط اون می تونید برنامه رو کنترل کنید.

از Context در اکتیویتی ها، سرویس ها، intent ها، دیتابیس و ... استفاده میشه. البته باید دقت کنید که استفاده اشتباه از Context باعث میشه منابع زیادی از هدر بره. در واقع میتوان گفت Context یک کلاس پایه برای Activity ها، Service ها و در مجموع کل برنامه نویسی اندروید می باشد. یعنی هر کدام از اجزای اندروید مثل اکتیویتی بعضی از خواص خود را از Context ارث برده است. یعنی میشه گفت Context یک تعریف کلی از نرم افزار یا اپلیکیشن شما می باشد.

 

به طور ساده شما هر عملیاتی که انجام میدید و با هر آبجکتی که کار می کنید بعضی از خواص خودش رو از کلاس Context ارث بری کرده. مثلا وقتی کلاس شما ارث بری میکنه از activity خود کلاس اکتیوتی هم ارث بری کرده از CotextTheme  و این کلاس هم از Context ارث بری میکنه.

 

در Context بسیاری از امکانات لازم جهت هر کاری قرار داده شده مثلا شما می خواید یک ارتباط با دیتابیس برقرار کنید باید از متد زیر استفاده کنید

OpenOronCreateDatabase()....

که خود این متد از Context ارث بری کرده و در اونجا تعریف شده.

 

انواع Context در اندروید

در کل 2 نوع Context بر اساس نحوه استفاده از آنها وجود داره:

  • UI Context
  • Non-UI Context

 

UI Context

هر جایی که با UI سر و کار داریم از این مدل Context استفاده میشه. مثلا در اکتیویتی ها. این نوع از Context ها برای عملیات کوتاه مدت استفاده میشن.

 

Non-UI Context

عملیاتی که در UI Context ها قابل انجام نیست جزو Non-UI Context ها می شود. البته این نوع از Context ها همه عملیات مربوط به UI Context ها را هم شامل می شود.

 

در لینکی که قرار میدم اطلاعات کامل تری در مورد Context In Android وجود داره.

در شکل زیر مفهوم بهتری از Context رو میتونید ببینید.

 

Context در اندروید

به این پاسخ امتیاز بدهید    0
امتیاز: 518 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود