Context در برنامه نویسی اندروید چیست و چه کاربردی دارد؟
می خواستم بدونم Context در برنامه نویسی اندروید چیست و چه کاربردی دارد؟ چون تقریبا در هر بخشی از برنامه نویسی اندروید که میبینم Context استفاده شده ولی دقیقا نمی دونم کجاها باید از این شی استفاده کنم.
الان مثلا در کد زیر
public static Context context;
context = getApplicationContext();
توی یکی از آموزشهای اندروید این کد رو دیدم. می خوام بدونم حالا دقیقا کاربردش چی هست ؟
در برنامه نویسی اندروید 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 رو میتونید ببینید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- ویرایش فایل apk و کامپایل مجدد با امکان دانلود
- نحوه انتشار اپیلیکشن اندروید در گوگل پلی چگونه است ؟
- انتخاب تصویر از گالری گوشی در برنامه نویسی اندروید
- مفهوم Deep Link در برنامه نویسی اندروید
- ستون کلید اصلی در دیتابیس از نوع int بهتر است یا Guid
- تفاوت اندروید و زامارین چیست ؟
- دریافت دیتای اشتباه توسط web api
- انواع سنسورهای موجود برای استفاده در برنامه نویسی اندروید
- ساخت اپلیکیشن خانه هوشمند با استفاده از اندروید و ios
- روش استفاده از interface در جاوا و اندروید