Memantau dan Menentukan Status Koneksi pada Jaringan

Assalamualaikum Warahmatullahi Wabarakatuh. Tutorial kali ini saya akan mengajarkan pada kalian bagaimana membuat sebuah program untuk mengevaluasi atau mengecek status konektivitas Internet dan menghandle jika terjadi error pada koneksi Internet.

Tutorial Membuat Program Untuk Cek Status Konektivitas Internet pada aplikasi Android menggunakan ConnectivityManager dan NetworkInfo. Dari WILDAN TECHNO ART.

Contohnya jika kita membuat sebuah aplikasi yang membuatuhkan akses internet dan ternyata pada prangkat tersebut tidak terhubung dengan internet atau sedang di nonaktifkan, jika hal itu terjadi maka akan muncul pesan berupa dialog atau semacamnya yang memberitahukan koneksi internet tidak terhubung.

Untuk itu kita akan mencoba membuat program sederhana bagaimana cara cek status koneksi internet pada aplikasi yang kita buat.

Membuat Program Untuk Cek Status Konektivitas Internet

1) Buka Android Studio kalian lalu Buatlah project baru, serta activity pada project yang ingin kalian buat.

2) Buka file AndroidManifest.xml yang terdapat pada project kalian, setelah itu masukan kedua uses-permission berikut ini:
WildanTechnoArt-Program-Untuk-Mengecek-Konektivitas-Internet-step1
uses-permisson INTERNET & ACCESS_NETWORK_STATE

Penjelasan:
  • android.permission.INTERNET: Mengizinkan aplikasi membuka soket jaringan.
  • android.permission.ACCESS_NETWORK_STATE: Mengijinkan aplikasi mengakses informasi tentang jaringan.

Untuk design layoutnya, buatlah sesederhana mungkin, contoh seperti berikut ini:
WildanTechnoArt-Program-Untuk-Mengecek-Konektivitas-Internet-step2
Layout Design

File activity_my_connection.xml:

<?xml version="1.0" encoding="utf-8"??
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="android.cianjur.developer.net.checkconnectivity.my_connection">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/textview"
        android:textSize="18sp"
        android:textStyle="bold" />
    
    </RelativeLayout>


Pada Souce Code yang akan kita buat, kita menggunakan ConectivityManager dan NetworkInfo untuk mengecek status koneksi pada jaringan, jika pada perangkat tersebut tidak ada koneksi, maka akan muncul pesan berupa dialog menggunakan Alert.Builder.

package android.cianjur.developer.net.checkconnectivity;

import android.content.Context;
import android.content.DialogInterface;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class my_connection extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_connection);

        ConnectivityManager connectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivity.getActiveNetworkInfo();

        if(networkInfo != null && networkInfo.isConnected()){
            Toast.makeText(getApplicationContext(),"Terhubung Dengan Internet", Toast.LENGTH_LONG).show();
        }else{
            AlertDialog.Builder alert = new AlertDialog.Builder(this)
                    .setTitle("Tidak Ada Koneksi Internet")
                    .setMessage("Silakan periksa koneksi internet anda dan coba lagi")
                    .setPositiveButton("Tutup", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            finish();
                        }
                    });
            alert.setCancelable(false);
            alert.show();
        }
    }
}

Penjelasan:
  • ConnectivityManager: Digunakan untuk memberi tahu aplikasi saat konektivitas jaringan berubah dan memantau koneksi jaringan seperti Wi-Fi, GPRS, UMTS, dll.
  • NetworkInfo: Digunakan untuk menjelaskan status antarmuka jaringan.
  • getActiveNetworkInfo: Berfungsi untuk mendapatkan sebuah instance yang mewakili koneksi jaringan saat ini.
  • Saat aplikasi dijalankan, jika terhubung dengan Internet, maka akan muncul pesan yang terdapat pada Toast.
  • Dan jika tidak terbuhung dengan Internet, AlertDialog akan muncul dan meminta untuk menutup aplikasi. 

Jika koneksi internet dimatikan pada ponsel kalian dan menjalankan aplikasi tersebut, maka akan muncul pesan/dialog seperti ini :


Dan jika ponsel kalian terhubung dengan Internet/Data Seluler kalian aktif, maka akan terlihat seperti ini:


Sekian dari saya, bila ada yang ingin ditanyakan, silakan isi komentar dibawah, jangan lupa untuk follow fansPage WILDAN TECHNO ART untuk mendapatkan update terbaru dari blog ini, Terakhir dari saya, Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.