سوال در مورد متد check internet

پرسیده شده
فعالیت 1247 روز پیش
دیده شده 440 بار
1

سلام خسته نباشید 

1 سوال داشتم در مورد اینکه استاد اومدن داخل متد onRecieve این متد رو صدا زدن ولی چرا بازم داخل متد oncreate صدا زدن؟؟؟

2 وقتی ما این متد رو داخل onRecieve صدا می زنیم این متد که چیزی رو بر نمی گردونه که متد onRecieve بفهمه true هست یا false می خواستم بدونم که متد onRecieve از کجا مقدار داخل  این متد رو تشخیص میده؟؟؟

فایل پیوست

4
حذف شده

سلام و احترام

 

درمورد سوال اول همونطور که در ابتدای دوره یادگرفتیم هر اکتیویتی شامل یک چرخه حیات بوده که وضعیت های مختلفی را شامل می شود. onCreate  اولین متدی است که بعد از ساخت اکتیویتی صدا زده می‌شود. در واقع می‌گوید که اکتیویتی ساخته شد. پس قبل از اینکه این متد صدا شود، اصلا اکتیویتی‌ای در رم وجود ندارد.

پس ما در ابتدا اومدیم کاری کردیم  همین که اکتیویتی ساخته شد به ما اطلاع دهد که اینترنت متصل هست یا خیر حال شما تصور کنید در هنگام کار با اپلیکیشن اینترنت شما قطع شود و از انجایی که دیگر متد onCreateصدا زده نخواهد شد پس میاییم کد هامونو هم در متد onRecive مینویسیم (برای زمانی که اینترنت ما حین کار با اپ در اکتیویتی مربوطه قطع شود) تا به ما اطلاع رسانی شود.

۲- وقتی نوشتیم NetworkUtil.checkNetworkState(this) در اصل نوشته ایم NetworkUtil.checkNetworkState(this)==true(پس لزومی نداره ==true رو قرار بدید چون وقتی چیزی ننویسیم داریم میگوییم که اگرtrue بود فلان کار رو انجام بده) و از این طریق onRecieve این قضیه رو متوجه میشه

و لازم نیست مقداری رو return بدیم چون بدنه متد ما به هر حال اجرا میشود و viewما اپدیت خواهد شد.(برای این در متد نوشتیم که کد ما لازم به تکرار هم در onCreate و هم در onRecieve نباشد)

و وقتی عمل register رو انجام بدید خود اندروید  قضیه رو هندل خواهد کرد

سلامت باشید.

 

 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

29 آبان 99