بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مفهوم context و activity

مدیریت گفتگو
Smsbaz 12 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

مفهوم اکتیویتی و کانتکست یکم گیجم کردن!!

تو اینترنت گشتم یکم بدتر شدم :D

میشه توضیح بدید؟

فیلم آموزشی هم دیدم یکم سنگین توضیح دادن شایدم من نفهمیدم!

پیشاپیش ممنون

نظرات

مجتبی یگانه 12 سال پیش
پاسخ mahdak کامله و چیزی واسه اصافه کردن نمیمونه ، پس فقط این نکته رو بگم که برای درک بهتر از این قبیل مسائل بهتره که از تایپ هایراکی استفاده کنید که بازدنF3 روی متد و کلاس نمایان میشه ، و وراثت رو نشون میده ، که یک جلوه ی دیداری به ما میده

پاسخ‌ها 4

JSONObject 12 سال پیش

این متن از قبل رو کامپیوترم بود یادم نیست از کجا گرفتمش از منبعش عذر میخوام
احتمالا به دردت میخوره :

Context یک کلاس انتزاعیه که خود آندروید اونو پیاده سازی میکنه، مثلا Activity یک context هستش. ما از Contetx برای استفاده از Resource های برنامه و انجام عملیات های application-level استفاده میکنیم؛ مثلا اجرای یک Activity، سرویس ، فرستادن یک broadcast و ... همه عملیات های application-level هستند.

نظرات

Smsbaz 12 سال پیش
مچکر.یه جایی هست نوشته اکتیویتی در واقع چیزیه که فعال رو صفحه قرار داره و داره نشون داده میشه.از طرف دیگه یه کلاسه! بعضی وقتا باید ازش اکستند کرد!نمی دونم چه وقتهایی(این خیلی مهمه).از طرفی هم کانتکست هم یه کلاسه که یه کارهای خاصی میکنه.که اون قسمت تو فیلم شماره فک کنم 2-5 بود مطمئن نیستم من اصلا کاربردشو متوجه نشدم!
Spirit 12 سال پیش
منم زیاد نفهمیدم چیه! ، ولی بلد شدم چجوری ازش استفاده کنم ، هر جایی نمیشه از هر context بخصوصی استفاده کرد ...
mahdak 12 سال پیش

Activity :

مفهوم اکتیویتی به نسبت ساده تره ... اکتیویتی کلاسی هست که شما وقتی ازش extends می کنین که قصد دارین فرم های برنامه توون که به صورت xml نوشتید رو به کاربر نشون بدین و مثلا کاربر بتونه یه دکمه ای رو در فرم شما کلیک کنه یا اصطلاحا باهاش interact (تعامل) داشته باشه. به اولین پروژه ی استاد در ویدیوی 04-01 نگاه کنید, کلاس Startup1Activity با extends  کردن از کلاس Activity  قادر هست که تابع setContentView رو برای فایل main.xml اجرا کنه و در نهایت در زمان اجرای پروژه باعث نمایش محتوای فایل main.xml به شکل یک فرم در گوشی کاربر بشه. پس شما زمانی که بخواهید فرمی رو به کاربر نشون بدید باید یه کلاس داشته باشید که از Activity, اکستندز شده باشه.

Context :

مفهوم context یکم پیچیده تر هست و شما با نوشتن پروژه های بیشتر, و زیاد شدن تجربه توون کم کم براتوون جا می افته ولی گفتن یه مثالی که توی اینترنت دیدم شاید خالی از لطف نباشه :

فرض کنین که در هتلی اقامت دارید برای استفاده از امکانات هتل مثل صبحانه, ناهار یا خشکشویی هتل و ... با متصدی تماس می گیرید و سفارشتوون رو اعلام می کنین و اون سفارش مورد نظر شما رو در اختیارتوون می ذاره.

حالا اگر هتل  Application شما باشه و صبحانه و ناهار و ... معادل اجرای یک activity جدید, دسترسی به Database و ... باشه اون متصدی که باهاش تماس می گیرید تا منابعی که می خواهید رو در اختیارتوون بذاره همون Context خواهد بود.

 

نظرات

Smsbaz 12 سال پیش
اکتیویتی که عالی.کانتکس یکم تجربه هم می خواد واسه فهمیدن.ممنون و مچکر
ajn91 12 سال پیش
مثال Context زیبا بود ممنون باعث درک بهتری از Context شد
katebhd 11 سال پیش

اگه نو دیتابیس context استفاده نکنیم چه اتفاقی میفته لزومی داره استفاده کنیم ؟؟؟؟؟ ممنون میشم کمک کنید

 

نظرات

MeY3am 11 سال پیش
mahdak : فرض کنین که در هتلی اقامت دارید برای استفاده از امکانات هتل مثل صبحانه, ناهار یا خشکشویی هتل و ... با متصدی تماس می گیرید و سفارشتوون رو اعلام می کنین و اون سفارش مورد نظر شما رو در اختیارتوون می ذاره. حالا اگر هتل Application شما باشه و صبحانه و ناهار و ... معادل اجرای یک activity جدید, دسترسی به Database و ... باشه اون متصدی که باهاش تماس می گیرید تا منابعی که می خواهید رو در اختیارتوون بذاره همون Context خواهد بود !
hhgh4269 11 سال پیش

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

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .