Home
Softono
AndroidNetworkWatcher

AndroidNetworkWatcher

Open source MIT Kotlin
16
Stars
1
Forks
0
Issues
1
Watchers
1 year
Last Commit

About AndroidNetworkWatcher

Network Watcher is a lightweight Android utility class that provides easy-to-use network connectivity monitoring. It helps developers track network connection changes and determine the current network type with minimal setup.

Platforms

Web Self-hosted Android

Languages

Kotlin

🌐 Android Network Watcher (ConnectivityMonitor)

πŸ“ Overview

Android Network Watcher is a lightweight Android utility class that provides easy-to-use network connectivity monitoring. It helps developers track network connection changes and determine the current network type with minimal setup.

⭐ Features

  • ⚑ Real-time network connectivity monitoring
  • 🌍 Supports multiple network types:
    • πŸ“Ά WiFi
    • πŸ“± Cellular
    • πŸ–§ Ethernet
  • πŸ› οΈ Compatible with Android versions from API level 23 and above
  • πŸ”” Simple callback mechanism for network state changes
  • πŸ”„ Handles both network availability and type changes

πŸ“₯ Installation

Add the ConnectivityMonitor.kt file to your Android project's source directory.

Gradle Dependency

Add the following dependency to your build.gradle.kts file:

implementation("io.github.kdroidfilter:netwatcher:0.1.0")

πŸ’» Usage Example

class YourActivity : AppCompatActivity(), ConnectivityMonitor.ConnectivityListener {
    private lateinit var connectivityMonitor: ConnectivityMonitor

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        connectivityMonitor = ConnectivityMonitor(this, this)
        connectivityMonitor.startMonitoring()
    }

    // Implement the connectivity listener
    override fun onNetworkConnectionChanged(isConnected: Boolean, networkType: ConnectivityMonitor.NetworkType) {
        when {
            isConnected -> {
                when (networkType) {
                    ConnectivityMonitor.NetworkType.WIFI ->
                        println("Connected to WiFi")
                    ConnectivityMonitor.NetworkType.CELLULAR ->
                        println("Connected to Cellular Network")
                    ConnectivityMonitor.NetworkType.ETHERNET ->
                        println("Connected to Ethernet")
                    else -> println("Connected to Unknown Network")
                }
            }
            else -> println("No network connection")
        }
    }

    override fun onDestroy() {
        connectivityMonitor.stopMonitoring()
        super.onDestroy()
    }
}

πŸ› οΈ Methods

πŸ” startMonitoring()

Begins monitoring network connectivity changes. Immediately triggers an initial callback with the current network state.

πŸ›‘ stopMonitoring()

Stops monitoring network connectivity and unregisters the network callback.

πŸ“‘ Network Types

The library supports the following network types:

  • πŸ“Ά WIFI: WiFi network connection
  • πŸ“± CELLULAR: Mobile data network
  • πŸ–§ ETHERNET: Ethernet network
  • 🚫 NONE: No network connection
  • ❓ UNKNOWN: Unrecognized network type

πŸ“‹ Compatibility

  • Minimum Android SDK: 23

βš–οΈ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.