sasanraf 0 ارسال شده در ۶ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۶ تیر ۱۳۹۴ لطفا مفهوم و موارد استفاده از Context را توضیح دهید. کدهای زیر مربوط به چک کردن اتصال دستگاه به اینترنت می شود. [shcode=java] Context context = this; ConnectivityManager conMng = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = conMng.getActiveNetworkInfo(); [/shcode] لطفا علت استفاده از context را در کدهای بالا توضیح دهید زیرا همان کدها را بدون استفاده از Context نیز می توان نوشت و به همان نتیجه رسید. [shcode=java] ConnectivityManager conMng = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo networkInfo = conMng.getActiveNetworkInfo(); [/shcode] در ضمن چرا در خط NetworkInfo networkInfo = conMng.getActiveNetworkInfo ، کست (cast) ، انجام نشده؟ از کمک شما تشکر می کنم، نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Razieh Shahraki 49 ارسال شده در ۶ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۶ تیر ۱۳۹۴ 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) مورد نظرمان (از این بخش و یا از سایر بخش های برنامه اندروید)، دسترسی پیدا کنیم. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
sasanraf 0 ارسال شده در ۶ تیر ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۶ تیر ۱۳۹۴ 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) مورد نظرمان (از این بخش و یا از سایر بخش های برنامه اندروید)، دسترسی پیدا کنیم. با تشکر فراوان از پاسخ شما. از آنجا که هنوز در مرحله مقدماتی یادگیری برنامه نویسی اندروید هستم، پاسخ شما برایم مبهم می باشد. در صورت امکان، نیاز به توضیح کاربردی به همراه کدهای ساده دارم. مجددا تشکر می کنم. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Razieh Shahraki 49 ارسال شده در ۶ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۶ تیر ۱۳۹۴ با استفاده از روش زیر، می توانیم Context مربوط به Application را به دست آوریم : [shcode=java]baseContext.getApplicationContext()[/shcode] در کدهای بالا، به جای عبارت baseContext ، باید Context مربوط به آن Activity که در آن هستیم را بنویسیم (یا Context مربوط به موارد دیگر). همچنین اگر بخواهیم Context مربوط به یک Activity را به دست آوریم، باید در میان کدهای آن Activity ، کد زیر را بنویسیم : [shcode=java]getApplication()[/shcode] context یک کلاس انتزاعیه که خود اندروید اونو پیاده سازی می کنه،مثلا اکتیویتی یک context هستش.ما از context برای استفاده از resource های برنامه و انجام عملیات های application-level استفاده می کنیم.مثلا اجرای یک اکتیویتی،سرویس،فرستادن یک broadcast و ... همه عملیات های application-level هستند. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۶ تیر ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۶ تیر ۱۳۹۴ سلام منظور از context یعنی همان اکتیویتی !! به عنوان مثال MainActivity.this یک کانتکست هم به حساب میاد !! که میتونید به این صورت بنویسید . Context c=MainActivity.this حال اگر کلاسهای مختلفی درست کنید !! به عنوان مثال Toast که خود یک کلاس به حساب می آید . که در Toast هم شما اولین چیزی که وارد مینمایید context است . بنابراین Toast میفهمه که داخل کانتکست یا اکتیویتی که تعریف کرده اید اجرا بشه !! موفق باشید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .