آموزش چک کردن اتصال اینترنت در برنامه نویسی اندروید با والی
- دسته بندی:
- تاریخ انتشار: آبان ۲۹, ۱۴۰۲
آموزش چک کردن اتصال اینترنت در برنامه نویسی اندروید با والی
در این آموزش بر خلاف سایر روش های چک کردن اتصال اینترنت یک روش دیگه با استفاده از
کتابخانه والی رو خدمت کاربران کیومرث دولوپر آموزش میدیم
در روش های قبلی که فقط روشن بودن وایفای یا دیتای موبایل مورد بررسی قرار میگیرد
و در صورت روشن بودن و حتی نداشتن اینترنت کد کار میکرد اما در این روش در صورت نبودن اینترنت اپ کار نخواهد کرد
قصد داریم تا به زیبای اپ نیز در کنار آموزش توجه کنیم پس با ما همراه باشید
ابتدا فایل build.gradle را باز کنید و دو کتابخانه زیر را به آن اضافه کنید
implementation 'com.android.volley:volley:1.2.1'
implementation 'com.airbnb.android:lottie:6.1.0'
سینک رو بزنید تا اضافه بشن به پروژه
بررسی وضعیت اتصال اینترنت در برنامه نویسی اندروید با والی
وبسایت lottiefiles مراجعه کرده و دو انیمیشن دلخواه برای اتصال و عدم اتصال دانلود و در داخل پوشه raw در پروژه خود قرار دهید
اکنون در پوشه لایوت پروژه خود علاوه بر activity_main دو لایوت دیگر با اسم های دلخواه ایجاد کنید در اینجا من از fragment_start و fragment_work استفاده کردم ام و به ترتیب کد های زیر را اضافه کنید به هر لایوت
لایوت activity_main
لایوت fragment_start
لایوت fragment_work
خوب بریم سراغ بخش کد های جاوا
حالا فایل MainActivity را باز کنید و کدها زیر اضافه کنید
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportFragmentManager().beginTransaction().replace(R.id.main_techblax,new StartFragment()).commit();
}
}
یه فرگمنت جدید به اسم StartFragment را ایجاد کنید و کد های زیر رو اضافه کنید
public class StartFragment extends Fragment {
AppCompatButton btn_retry;
LottieAnimationView lottieAnimationView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_start, container, false);
btn_retry = view.findViewById(R.id.btn_retry);
lottieAnimationView = view.findViewById(R.id.main_logo);
btn_retry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(requireActivity(),MainActivity.class));
requireActivity().finish();
}
});
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
check_internet();
}
},3000);
return view;
}
private void check_internet() {
RequestQueue requestQueue = Volley.newRequestQueue(requireActivity());
int milisec = 5000;
RetryPolicy policy = new DefaultRetryPolicy(milisec,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
String url = "https://google.c";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener() {
@Override
public void onResponse(String response) {
Toast.makeText(requireActivity(), "Internet Work", Toast.LENGTH_SHORT).show();
requireActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.main_techblax,new WorkFragment()).commit();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
btn_retry.setVisibility(View.VISIBLE);
try {
lottieAnimationView.setAnimation(R.raw.infinity);
lottieAnimationView.playAnimation();
}catch (Exception e){}
}
});
request.setRetryPolicy(policy);
requestQueue.add(request);
}
}
فرگمنت آخر رو هم درست کنید به اسم WorkFragment و کد های زیر رو اضافه کنید
public class WorkFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_work, container, false);
return view;
}
}
خوب اینم از این مجوز اینترنت رو هم به مانیفستتون اضافه کنید و حالشو ببرید
امیدوارم این مطلب از کیومرث دولوپر به دردتون خورده باشه
آموزش چک کردن اتصال اینترنت در برنامه نویسی اندروید با والی