سلام
من به صورت تستی اینترنت گوشیمو قطع کردم تا ببینم لیست دانشجو ها رو نمایش میدهد یا خیر
(که خب دیدم نمایش داده نمیشه)
اما سوال من اینجاست چکار کنیم که وقتی اینترنت متصل شد دکمه ای وجود داشته باشد و کاربر بزند و صفحه رفرش بشود یا اینکه مثلا هر 5 ثانیه اطلاعات رفرش شوند و اطلاعات در ReclerView نمایش داده شوند؟
سوال دوم چگونه PrograssBarی بگذاریم که وقتی صفحه لود شد به صورت کامل بره , به Activity و اطلاعات رو نمایش بدهد ؟
سلام پوریا یه کلاس به اسم ConnectivityManager میشه باهاش بررسی کرد که نت داریم یا نه تکه کد زیر هم اگر گوشی به اینترنت یا به wifiوصل باشه مقدارش true هست البته یه هشدار هم تو منبع هست که میتونی بخونی
boolean connected = false;
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
//we are connected to a network
connected = true;
}
else
connected = false;
یه جا دیگه رو هم نگا کردم که فکر کنم این جامع تره و بیشتر به کار بیاد
ما میاییم از همون کلاس ConectivityManager یه شی میسازیم که بتونیم getSystemService دسترسی پیدا کنیم
ConnectivityManager check = (ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE);
حالا رو این نمونه ای (check)که ساختیم یه متد به اسم getAllNetworkInfo صدا میزنیم که آرایه ای از NetworkInfo بهمون میده
NetworkInfo[] info = check.getAllNetworkInfo();
حالا با یه حلقه بررسی میکنیم ببینیم وضعیتی مثل Network.State.CONECTED وجود داره یا نه اگه وجود داشت یعنی نت داریم
for (int i = 0; i<info.length; i++){
if (info[i].getState() == NetworkInfo.State.CONNECTED){
Toast.makeText(context, "Internet is connected
Toast.LENGTH_SHORT).show();
}
}
حالا می تونید بررسی کنید که آیا به شبکه وصل شده یا نه اگه وصل بود با یه شرطی دستوری که مد نظرتونه رو انجام میدید
سوال دوم شرمنده متوجه نشدم چی می خواید