رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در مورد مفهوم Context در آندروید
#1
سلام به همه دوستان . من تازه برنامه نویسی آندروید را شروع کردم و نسبتا پیشرفت خوبی داشتم ولی یک مورد که همه جا سر و کله اش پیدا میشه و نمیتونم مفهومش را درک کنم (Context) هستش . بعضی جاها ما از this استفاده میکنیم و بعضی جاها از getApplicationContext() و مقدار های دیگه . حالا من میخواهم بدونم که اصلا کار context چی هستش و کجاها از چه مقداری استفاده کنیم .ممنون از لطفتتون . Huh
پاسخ
تشکر شده توسط:
#2
Context درواقع میشه زمینه کار. مثلاً وقتی Application میاد و یک Activity رو اجرا میکنه، شئ اپلیکیشن میشه Context شئ اکتیویتی. وقتی شما میخواین یه Toast یا هر چیزی رو نمایش بدین، نیاز به یه زمینه داره که روی اون نشون داده بشه. وقتی اکتیویتی رو بعنوان زمینه مشخص کنید، درصورتی که اون اکتیویتی فعال و روی صفحه نباشه Toast هم نمیتونه درست کار کنه ولی وقتی از برنامه بعنوان زمینه استفاده کنید، حتی اگه برنامه هیچ اکتیویتی فعالی روی صفحه نداشته باشه و فقط در پس زمینه درحال اجرا باشه، میتونید پیغامتون رو نشون بدین یا حتی یه اکتیویتی جدید بسازین و اجراش کنید و برنامه رو دوباره از پس زمینه بیارین روی کار.
پاسخ
تشکر شده توسط: majid
#3
ممنون از جواب خیلی خوبتون دارم یک چیزهایی را میگیرم فقط اینجوری فهمیدم که مثلا توی مثالی که زدید همون Toast من چندتا انتخاب دارم .
وقتی که میگم Toast.Maketext میتونم context اون را برابر با ()this , mainActivity.this , getApplicationContext , قرار بدم یا اینم اصولی داره برای خودش
پاسخ
تشکر شده توسط:
#4
اگه کدتون توی Listener یک دکمه است، باید MainActivity.this بگین چون this داره به اون دکمه اشاره میکنه. ولی اگه مستقیماً توی متدهای خود اکتیویتی دارین مینویسین، همون this کافیه. همیشه از ()getApplicationContext میتونید استفاده کنید.
پاسخ
تشکر شده توسط: majid
#5
خیلی ممنونم از کمکتون واقعا سرنخ های خوبی بهم دادید میدونم که بقیه اش وظیفه ی خودم هست ممنون. اگر یک داکیومنت خوب انگلیسی که خوب توضیح داده را سراغ دارید لطف کنید به اشتراک بزارید چون میدونم بعضی ا بچه ها واقعا این مفهوم ذا درست درک نکردن هنوز
پاسخ
تشکر شده توسط:
#6
شدیداً مطالعه مستندات رسمی سایت اندروید رو توصیه میکنم.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان